0

ホームコントローラーに次の機能を実装しました。

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

しかし、ログインした場合でも、/ Home / Indexに移動するか、@ RenderBodyによって呼び出された場合でも、ログインページと次のURLが返されます:/ Account / LogOn?ReturnUrl =%2f

グローバルファイルのルーティングも変更していません。助言がありますか?

アップデート

その後、私がこれらを追加するものは何でもあることがわかりました

<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
4

1 に答える 1

1

次のように、3つの個別の属性ではなく、それらを1つに組み合わせてみてください。

<Authorize(Roles:="General,Manager,Administrator")>
于 2012-08-21T16:51:29.337 に答える