-4
私はdbをチェックインするために独自のauthorize属性([authorize]ユーザーは彼をどこかにリダイレクトする権限を持っていません。誰も助けることができますか?どうすれば、何かを行い、asp .net mvc 5でリダイレクトする関数のカスタム属性を書くことができますか?c#
私はdbをチェックインするために独自のauthorize属性([authorize]ユーザーは彼をどこかにリダイレクトする権限を持っていません。誰も助けることができますか?どうすれば、何かを行い、asp .net mvc 5でリダイレクトする関数のカスタム属性を書くことができますか?c#
あなたcustomAuthorizeのattributを作成することができますはい、これのためにあなたがasp.netクラスからAuthorizeAttributeを継承することができますし、のようなあなたのattributを行います -
(私は私のプロジェクトでこれを使用しています)
public class CustomAuthorize : AuthorizeAttribute
{
private User_MasterEntities db = new User_MasterEntities();
protected override void HandleUnauthorizedRequest(System.Web.Mvc.AuthorizationContext filterContext)
{
if (filterContext.HttpContext.Request.IsAuthenticated)
{
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Home", action = "Restricted" }));//new System.Web.Mvc.HttpStatusCodeResult((int)System.Net.HttpStatusCode.Forbidden);
}
else
{
base.HandleUnauthorizedRequest(filterContext);
}
}
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var authorized = base.AuthorizeCore(httpContext);
if (!authorized)
{
// The user is not authenticated
return false;
}
string user = HttpContext.Current.User.Identity.Name;
bool isAdmin = IsAppUser(user);
return isAdmin;
}
とIsAppUserは、データベースからadminかどうかを返す関数です
[Stack Overflowユーザーの研究努力の程度](https://meta.stackoverflow.com/a/261593/3082296) – adiga
[I問題は何の証拠もないので下降した(実際の質問ではないので)(https://meta.stackoverflow.com/questions/284236/why-is-can-someone-http://www.intelvotedbecau.se/noresearch/)ヘルプ - 私 - は - 実際の質問)。参照してください:[なぜ誰かが私を助けることができますか?実際の質問ではありませんか?](http://meta.stackoverflow.com/q/284236) – EJoshuaS