如何在Web应用程序中实现角色

问题描述:

我创建了一个完美运行的网站。但我有一个问题,有两个文件夹,分别叫做useradmin。这两个文件夹都包含一个home.aspx文件。假设您是用户,而不是管理员,并且您已使用用户名和密码登录。如何在Web应用程序中实现角色

给定一个这样的URL:http:localhost:8080/user/home.aspx,假设您转到地址栏并键入admin而不是user表示您可以使用您的会话访问管理页面。

如何阻止常规用户访问管理页面?

最简单的开始使用方法是使用ASP.net成员资格和角色系统,该系统允许您根据登录用户定义文件夹级权限以及更多功能。

这些影片将让你开始:http://www.asp.net/web-forms/videos/authentication

登录时,你应该设置一个标志识别的用户类型。在需要登录的每个页面上,检查当前登录的用户是否是您想允许访问该页面的用户类型。

所以管理员/ home.aspx,伪代码:

if (!LoggedInUser.IsAdmin) 
    Redirect("Not Allowed"); 

而且用户/ home.aspx:

if (LoggedInUser == null) 
    Redirect("Not Allowed"); 

有很多方法可以做到这一点,取决于方式你处理你的用户。可以找到一个例子here

当用户(不是管理员)登录,设置会话的用户角色:

例如:

在会议

设置isAdmin=false现在在管理页面的开头:

if(isAdmin is false) { 
    // Redirect to any other page or error page 
} 

// Other admin content 
+0

你知道这个问题不是关于PHP,对吧? – walther 2012-03-27 11:43:56

+0

哦,没有注意到。谢谢 :) – NAVEED 2012-03-27 11:45:29