Tag: 授权

C#WinForms用户/权限管理

任何人都可以为我提供一个示例WinForms应用程序,它实现用户身份validation和授权的概念,作为角色或组的基础? 应用程序应允许用户根据其角色访问主菜单。

MVC 3动态授权多个角色和用户

我最近主持开发MVC 3,但从那时起就有C#和ASP.NET的经验。 所以我将从我想要完成的事情开始。 我开发了一个用于托管文章的小网站。 我已经为该站点实现了基于SQLServer的成员资格管理。 现在我想创建一个凭据系统,限制并允许正确的用户创建,删除和更新文章。 有一个简单的解决方案就是这样做: [Authorize(Roles=”Admin”)] public ActionResult UpdateArticle(ArticleModel model, int articleid) { return View(); } 现在这很简单。 我只是说只允许角色为“Admin”的成员更新文章。 但这只是静态的。 所以我在我的数据库中创建了一个凭证表,最后告诉我“第5条可以由角色1,2,3和4以及用户A,b和C编辑”。 到现在为止还挺好。 但是我如何使用授权解决方案实现这一点? 我想做这样的事情: [Authorize(getAuthorizedusers(“update”,this.articleid))] 其中getAuthorizedusers返回哪些用户和角色有权使用传递给它的articleid更新文章。 所以我在这里有(至少)两个问题: – 获取Authorize方法以接受多个用户和角色。 – 将发送到UpdateArticle方法的提供的articleid传递给getAuthorizedusers方法。

如果我希望使用ASP.NET MVC4创建ApiKey受限资源,我应该使用IAuthorizationFilter吗?

我有一些简单的路由,我希望通过一个简单的查询字符串参数进行限制。 如果密钥不正确或未提供,那么我希望抛出NotAuthorizedException 。 请不要建议我使用WebApi或等效 – 我不能在这种情况下使用。 所以我不确定我是应该实现IAuthorizationFilter还是实现IActionFilter甚至是其他东西。 我的代码逻辑? 检查查询字符串是否有关键。 检查我的RavenDb(存储库)以查找具有该键/值的用户。 如果它们未通过任何这些检查,则抛出NotAuthorizedException 。 我假设我会用这个filter装饰我的动作方法。 我还假设我需要将我的存储库传递给这个动作方法吗? 有什么建议吗?

授权和ASP.NET MVC缓存

我对ASP.NET MVC缓存和授权感到困惑,并且急需一些澄清。 我的自制授权属性inheritance自AuthorizeAttribute 。 即使我在控制器操作上设置了[OutputCache]属性,它每次都会运行其重写的AuthorizeCore方法。 我明白那一部分。 现在让我心烦意乱:当我实际执行输出缓存并且页面是从缓存提供时, AuthorizeCore每次都会失败 。 原因是当缓存请求时, httpContext.Session提供的httpContext.Session为null ! 这是一些简化的代码: protected override bool AuthorizeCore(HttpContextBase httpContext) { return (Session[“userId”] != null) } 因此,如果httpContext.Session为null ,则每次都会失败。 我需要访问会话,如何检查请求是否被授权? 这没有任何意义 – 如果它应该如此,那么我永远无法在ASP.NET MVC中使用缓存页面和身份validation。 救命?

基于asp.net mvc中角色的自定义用户授权

我已经为我的用户创建了自定义身份validation和授权。我面临的问题是如何让mvc检查我的users表中的角色是否与我的控制器上的[Authorize(Role)]匹配,以便将httpauthorised设置为true。以下是我的习惯课程。 [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, Inherited = true, AllowMultiple = true)] public class CustomAuthorizeAttribute : AuthorizeAttribute { public override void OnAuthorization(AuthorizationContext filterContext) { base.OnAuthorization(filterContext); if (!filterContext.HttpContext.User.Identity.IsAuthenticated) { filterContext.Controller.TempData[“ErrorDetails”] = “You must be logged in to access this page”; filterContext.Result = new RedirectResult(“~/User/Login”); return; } if (filterContext.HttpContext.Request.IsAuthenticated) { using (var db = new GManagerDBEntities()) { var authorizedRoles […]

Web.API中的自定义授权

我对ASP.NET MVC的理解是,对于授权,我应该使用类似的东西 – public class IPAuthorize : AuthorizeAttribute { protected override bool AuthorizeCore(HttpContextBase httpContext) { //figure out if the ip is authorized //and return true or false } 但在Web API中,没有AuthorizeCore(..) 。 有OnAuthorization(..) ,MVC的一般建议是不使用OnAuthorization(..) 。 我应该在Web API中使用什么来进行自定义授权?

用于Mongodb数据存储的asp.net核心中基于令牌的简单身份validation/授权

我需要实现非常简单的auth mechanizm,基本上有2个角色: Owners和Users 。 而且我认为拥有Enum就足够了。 应用程序本身是SPA,通过Asp.net核心实现webapi。 我看到了文章 – 如何使用EF Identity实现它,但是他们的模型看起来比我实际需要的复杂得多,并且EF面向SQL db,我使用mongo。 所以我的用户看起来像: class UserModel{ Id, Token, Roles: [“Owners”, “Users”], … } 那么我需要实现哪些接口并添加到DI才能使用[Authorize]和[Authorize(Roles=”Users”)]属性,它们是否能够根据我在标头中发送的令牌正确工作?

我的CustomAuthorizationPolicy.Evaluate()方法永远不会触发

我创建了一个带有自定义授权和身份validation的wcf服务,如您所见: public class AuthorizationPolicy : IAuthorizationPolicy { string id = Guid.NewGuid().ToString(); public string Id { get { return this.id; } } public System.IdentityModel.Claims.ClaimSet Issuer { get { return System.IdentityModel.Claims.ClaimSet.System; } } // this method gets called after the authentication stage public bool Evaluate(EvaluationContext evaluationContext, ref object state) { // get the authenticated client identity IIdentity […]

如何在整个ASP .NET MVC应用程序中进行授权

我创建应用程序,除了那些启用登录的操作之外的每个操作都应该超出未登录用户的限制。 我应该在每个class级的标题之前添加[Authorize]注释吗? 像这儿: namespace WebApplication2.Controllers { [Authorize] public class HomeController : Controller { public ActionResult Index() { return View(); } public ActionResult About() { ViewBag.Message = “Your application description page.”; return View(); } public ActionResult Contact() { ViewBag.Message = “Your contact page.”; return View(); } } } 或者有一个捷径? 如果我想在特定控制器中更改一个且仅限操作的规则,该怎么办?

如何在MVC应用程序中使用JWT进行身份validation和授权?

我计划在asp.net MVC应用程序中使用asp.net Identity 2.0进行身份validation和授权。 参考以下链接 使用Owin的ASP.NET Web API 2中的JSON Web令牌 我能够为有效用户创建访问令牌(JWT),即,当用户登录到应用程序时,我将使用名称和密码validation用户,然后我将为该有效用户发出JSON Web令牌。 现在,我在一些文章中读到,我们需要在标头中为每个请求传递承载令牌,以validation用户的身份validation。 在MVC中,我们将为需要保护的方法提供Authorize属性,如下所示… public class UserController : BaseHRAppController { [Authorize] public ActionResult Index() { return View(); } } 如何告诉我的MVC应用程序使用JWTvalidation用户。 我想让我的MVC应用程序在用户尝试使用authorize属性访问方法时使用JWTvalidation用户。 因为,我将在许多页面中使用ajax调用来访问mvc控制器中存在的方法,我不认为它是在每个ajax请求上传递令牌的好方法。 我需要一个帮助,以便在MVC应用程序中使用asp.net身份以有效的方式完成身份validation和授权。 目前,我不知道如何在mvc应用程序中使用此JWT令牌进行身份validation和授权。 任何帮助表示赞赏谢谢。