2012-02-15 52 views
0

我创建了一个名为“admin”的区域的MVC3网站我使用属性在管理员控制器上来保护它,并且它工作正常。但是如果管理员用户进入前台他应该没有登录该网站的那部分。他必须能够用另一个用户名登录到前台。 我该如何处理?Asp.net MVC3 Seprate身份验证管理区vs前端

+0

简单的方法是有一个单独的admin *网站*,因此每个都有自己的身份验证。 – 2012-02-15 06:26:01

+0

谢谢安德鲁,但我认为它应该有一个更好的方式。可以使用身份验证参数或cookie或.. – SeifolahG 2012-02-15 06:36:08

回答

1

您可以使用角色。因此,定义使用在您的管理区域控制器Authorize属性时,你会指定,然后定义将被用于在前端控制器的授权属性的另一个角色的admin角色:

[Authorize(Roles = "admin")] 
+0

其实我现在使用角色授权管理员。但这不是问题。我想我的公共部分的网站( (即使没有登录的用户),也只有公共用户可以登录前端而不是管理员,但是我可以检查公共角色和管理员的身份验证。问题是,当管理员用户刚刚在管理员区域登录时指向前端,他仍然登录在前方!但他不应该。他应该被引用到公共登录页面并以不同的用户名登录,或者他被认为仍然没有登录用户。 – SeifolahG 2012-02-15 07:11:19

+0

@ user1110074,你用'[Authorize(Roles =“frontend”)]'装饰你的网站的公共部分。现在,您只需删除所有管理员用户的“前端”角色。 – 2012-02-15 07:13:13