私のアプリケーションでは、ロールとルールを使用してセキュリティが働いていますが、ユーザーが特定のロールに属しているかどうかによってWebリンクを非表示にできるかどうかは疑問でした。ロールが割り当てられていないユーザーからのWebリンクを非表示にする
私は現在、ユーザーが 'admin'ロールまたは 'user'ロールのいずれかに属しています。私のアプリケーションのフォルダにルールが設定されているので、ユーザーがいずれかのグループに所属している場合、Webリンクをクリックしてページに移動させることができます。しかし、新しいユーザーが登録されていない場合はロールには属さず、Webリンクをクリックするとホームページにリダイレクトされます(下記のコードを参照)。これはすばらしいことですが、ユーザーが特定の役割に属していない場合は、そのWebリンクをクリックしないようにすることができます。また、ユーザーがロールに属していない場合、ページにリダイレクトされてロールが割り当てられている必要があることを伝えることができますか? user.identityが属していない場合:ユーザーが認証された場合
<authentication mode="Forms">
<forms loginUrl="~/Homepage1.aspx" timeout="2880" />
</authentication>
は、私は、過去にこのチェックを現在のアプリケーションでこれを使用してはいけないが、持っている、私は文の場合、私は同様のを使用することができるかどうかを疑問に思いました「ユーザー」または「管理者」のロールに変更し、それらをページにリダイレクトしてエラーを表示しますか?
If User.Identity.IsAuthenticated = True Then
Dim myUser As MembershipUser
Dim objUser As Object
myUser = Membership.GetUser(User.Identity.Name)
objUser = myUser.ProviderUserKey
Session("ID") = objUser
Else
MsgBox("You are not entitled to view this page", MsgBoxStyle.Critical, "Warning")
Response.Redirect("~/NoAccess.aspx")
End If
私はユーザーを宣言しなければならないと思いますか?メンバーシップユーザーとしてdimユーザーですか?またはロールの特定の宣言がありますか? – Blob
'User'が組み込まれています。これは、現在ログインしているユーザの 'System.Security.Principal.IPrincipal'です。 –
私は自分の答えに追加したリンクを読んだり、ロールマネジメントとそれがどのように機能するかを読んでみることをお勧めします。 –