我正在创建一个包含2个不同部分(主站点和管理员)的站点,并且两者都需要身份验证。
我已经创建了主要部分,并且使用FormsAuthentication可以正常工作。
现在,我该如何创建管理部分?我可以再次使用FormsAuthentication吗?
感谢
答案 0 :(得分:0)
用户 - 是的,你可以。
您需要做的是创建角色(例如webuser和admin)并根据需要将用户分配给相应的角色(您可以在最初设置用户或稍后将其设置为其个人资料上的编辑时执行此操作) 。无论如何,回到这个问题。然后,在控制器内部,您将调查已登录用户存在的角色,这将确定他们有权访问哪些控制器操作,以及确定在角色之间“共享”操作时要呈现的视图。
在控制器中,您可以使用以下代码修饰操作:
[Authorize(Roles="admin")]
public ActionResult IndexAdminOnly() // you'd never have an action named this - purely to make the point
{
// your logic here
}
相反,你可以在控制器内完成:
[Authorize]
public ActionResult Index()
{
if(Roles.IsUserInRole("admin")){
// your admin logic here
}
if(Roles.IsUserInRole("webuser")){
// your webuser logic here
}
}
这是最简单的。希望你可以谷歌更多链接来解决你出去后出现的任何问题,或在这里删除一个注释。