Tag: 认证

基于用户权限的自定义身份validation和授权

目前我正在开发一个带有MS Sql server数据库的ASP.Net MVC 5应用程序。 我需要实现基于ASP.Net identity 2.0的身份validation和授权。 我刚刚介绍了Identity的基本概念,并尝试在我的应用程序中实现相同的function。 由于数据库已经定义,我需要稍微自定义Identity。 当我查看数据库时,表格与我通常在样本身份项目中发现的有点不同。 从图像中可以看到,有一个名为user group的表,并根据模块定义了一组权限。 默认情况下,用户可以访问相同的权限。 如果要更改任何权限,可以通过在“用户权限”表中设置权限来覆盖它。 所以我的第一个问题是ASP。 具有自定义授权和授权的网络身份是实现这样的场景的正确方法吗? 从视角来看,我必须基于用户/用户组权限生成菜单,并且还希望基于它们启用/禁用按钮。 我能够根据数据库值生成菜单。 但我需要授权每个客户端请求,因此我认为AuthorizeAttribute是最佳选择。 请指教? 任何好的设计模式或post都很受欢迎。

重新连接到asp.net MVC4应用程序中的Servicestack会话

我有一个asp.net mvc4 Web应用程序,它使用C#编写的API消耗数据数据,并在Apache / mod_mono的Linux机器上托管 客户端应用程序是用C#/ asp.net编写的 – 它运行在不同的Web服务器上,也就是Linux / Apache / mod_mono。 我不确定这些细节在这种情况下是否重要,但我认为任何背景都可能有所帮助。 导致这个问题的问题: AppHostBase实例未设置 – 帮助我更加了解这一切是如何组合在一起的。 我相信我现在应该问的正确问题是: 一旦我在servicestack中创建会话(在API服务器上),我该如何正确地重新连接它? 根据之前问题的答案,我在客户端应用程序的auth控制器中使用了这段代码: var authService = AppHostBase.Resolve(); authService.RequestContext = System.Web.HttpContext.Current.ToRequestContext(); var AuthResponse = authService.Authenticate(new Auth { provider = “credentials”, UserName = user.user_id, Password = user.password, RememberMe = true }); 这将返回一个ResolutionException: 无法解析ServiceStack.ServiceInterface.Auth.AuthService类型所需的依赖项。 在让客户端在asp.net应用程序中工作时,我可能会缺少一些简单的东西吗? 如果问题太模糊,我会道歉,并乐意提供更多信息。 更新: 这是AuthController – 请原谅这个混乱,自从我上一篇文章以来,我一直在尝试一些事情: […]

如何在C#.Net 3.5 SP1中显示身份validation对话框

我想访问网络共享文件。 如何显示系统validation对话框,以便用户可以输入用户名和密码? ps:通过UNC,在WinForm中。 我正在编写一个探索控件,我想在用户双击网络共享文件夹后显示该对话框。

如何对依赖于c#中的身份validation的MVC控制器操作进行unit testing?

我想(在c#中)编写MVC控制器操作的unit testing,该操作可能返回一个视图或另一个视图,具体取决于请求是否经过身份validation。 如何才能做到这一点?

ASP.NET MVC属性只允许用户编辑他/她自己的内容

我有一个名为Edit的控制器方法,用户可以在其中编辑他们创建的数据,如此… public ActionResult Edit(int id) { Submission submission = unit.SubmissionRepository.GetByID(id); User user = unit.UserRepository.GetByUsername(User.Identity.Name); //Make sure the submission belongs to the user if (submission.UserID != user.UserID) { throw new SecurityException(“Unauthorized access!”); } //Carry out method } 这种方法工作正常但是放入每个控制器的Edit方法都有点乱。 每个表都有一个UserID所以我想知道是否有一种更简单的方法可以通过[Authorize]属性或其他一些机制使代码更清晰自动化。

用于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”)]属性,它们是否能够根据我在标头中发送的令牌正确工作?

如何在C#中获取登录SID

如何在C#.net中检索Windows登录SID? (不是用户SID,而是每个会话的唯一新SID)

如何在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和授权。 任何帮助表示赞赏谢谢。