主页/索引默认登录页面

时间:2012-08-21 16:20:45

标签: vb.net asp.net-mvc-3 authentication

我刚在家里的控制器中实现了以下功能:

<Authorize(Roles:="Administrator")> _
<Authorize(Roles:="Manager")> _
<Authorize(Roles:="General")> _
Function Index() As ActionResult
    Return View()
End Function

但即使我已登录/ Home / Index或@RenderBody调用它,也会返回登录页面和以下网址:/ Account / LogOn?ReturnUrl =%2f

我也没有在Global文件中更改任何路由。有什么建议吗?

更新

我后来发现我添加了这些

<Authorize(Roles:="Administrator")> _ 

标签会经常问我密码吗?

我的ViewStart:

@Code

Dim r = Roles.GetRolesForUser()

If r.Contains("Administrator") Then
    Layout = "~/Views/Shared/_AdminLayout.vbhtml"
ElseIf r.Contains("Manager") Then
    Layout = "~/Views/Shared/_ManagerLayout.vbhtml"
ElseIf r.Contains("General") Then
    Layout = "~/Views/Shared/_GeneralLayout.vbhtml"
Else
    Layout = "~/Views/Shared/_NoUserLayout.vbhtml"
End If

End Code

1 个答案:

答案 0 :(得分:1)

尝试将它们合并为一个,而不是3个单独的属性,如:

<Authorize(Roles:="General,Manager,Administrator")>
相关问题