我创建了一个完美运行的网站。但我有一个问题是有两个名为user
和admin
的文件夹。两个文件夹都包含home.aspx文件。假设您是用户,而不是管理员,并且您已使用用户名和密码登录。
根据这样的网址:http:localhost:8080/user/home.aspx
,假设您转到地址栏并输入admin
而不是user
表示您可以使用您的会话访问管理页面。
如何阻止常规用户访问管理页面?
答案 0 :(得分:3)
登录时,应设置标识用户类型的标志。在需要登录的每个页面上,检查当前登录的用户是否是您希望允许访问该页面的用户类型。
所以在admin / home.aspx上,psuedo-code:
if (!LoggedInUser.IsAdmin)
Redirect("Not Allowed");
在user / home.aspx上:
if (LoggedInUser == null)
Redirect("Not Allowed");
有很多方法可以执行此操作,具体取决于您处理用户的方式。可以找到一个示例here。
答案 1 :(得分:0)
最简单的开始使用方法是使用ASP.net成员资格和角色系统,它允许您根据登录用户定义文件夹级别权限 - 以及更多功能。
这些视频可以帮助您入门:http://www.asp.net/web-forms/videos/authentication
答案 2 :(得分:0)
当用户(非管理员)登录时,在会话中设置用户角色:
例如:
在会话中设置isAdmin=false
现在在管理页面的开头:
if( isAdmin is false ) {
// Redirect to any other page or error page
}
// Other admin content