问题标签 [asp.net-identity-3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Asp.Net 5 / Identity 3:在 IdentityDbContext 实现中缓存声明
在寻找一种能够通过管理控制器为发出请求的用户以外的用户分配和撤销角色的方法时,我实现了一个自定义 IAuthorizeFilter 来检查存储为声明的 Guid 标记是否与UserClaims 的 Entity Framework 7 Code First Identity 表。
要点,就是这段代码:
我在我分配的那一行遇到了问题var stampFromDb
,它可以通过以下方式更具可读性:
但是,这给了我缓存(与来自 User.Identity 的实际声明相同的值)结果,我找不到任何关于此的文档。我最好的猜测是错误就在我身边,但我以前从未遇到过这样的问题。这是我第一次使用 Asp.Net 5 和 EF7。我正在使用到 SQL Server 12.0.2000 的默认连接 (LocalDB)。
这是一项功能吗?如果是,可以将其关闭还是我在某处犯了错误?
asp.net-core - 使用来自 .Net 4.6 程序集的 Identity Framework 3.0
我正在尝试使用 ASP.Net 5 中的新 Identity Framework 3 (3.0.0-rc1) 从 .Net 4.6 应用程序创建和修改用户和角色。
根据我在搜索答案时可以找到的内容,它应该很简单:
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(destination));
但是 RoleManager 构造函数需要 6 个参数:
public RoleManager(IRoleStore<TRole> store, IEnumerable<IRoleValidator<TRole>> roleValidators, ILookupNormalizer keyNormalizer, IdentityErrorDescriber errors, ILogger<RoleManager<TRole>> logger, IHttpContextAccessor contextAccessor);
ASP.Net 5 使用 IoC 来提供 UserManager 和 RoleManager,它似乎与服务器的设置密切相关。
如何从 .Net 4.6 程序集中修改 Identity Framework 3 用户和角色?
asp.net-core - 快捷方式 Microsoft 身份验证
我们正在尝试使用 ASP.NET 5 Web 应用程序模板将 Microsoft 身份验证引入我们的应用程序。
默认模板将用户从登录链接_LoginPartial.cshtml
带到登录页面,在该页面中他们选择首选的身份验证提供程序。我们只想接受 Microsoft 身份验证,因此我们希望_LoginPartial.cshtml
用户登录。
我已经修改 _LoginPartial.cshtml
<ul class="nav navbar-nav navbar-right">
@*<li><a asp-controller="Account" asp-action="Register">Register</a></li>*@
<li><a asp-controller="Account" asp-action="ExternalLogin">Log in</a></li>
</ul>
我还更改了 provider 参数AccountController ExternalLogin
但在我的情况下 ExternalLogin
,没有调用和空白页
http://localhost:52711/Account/ExternalLogin
被退回。
我究竟做错了什么?
asp.net-core - 管理扩展应用程序用户
使用 ASP.NET 5 Web 应用程序模板并ApplicationUser
通过添加 BusinessName进行扩展
dbContext 中的 BusinessName 属性
BusinessName 也已添加到 ViewModels/Manage/IndexViewModel.cs
ManageController 索引操作被调用
以及 Views/Manage/Index.cshml
填充 BusinessName 的正确方法是什么?
c# - 使用 CookieAuthentication 的 ASP.NET 5 Identity 3.0 可扩展性
我将 ASP.NET 5 与 MVC6 一起使用。我正在使用 Identity 3.0,但我需要知道如何使它与许多网络服务器一起使用。
可以将会话存储在其他地方吗?数据库?在 MVC5 中,您在 web.config 中执行此操作,但我在 MVC6 中没有找到有关它的信息。
这是我在 Startup.cs 中的代码
谢谢!!
asp.net-core - 将登录重定向到控制器操作
从使用个人用户帐户的 ASP.NET 5 Web 应用程序模板开始,我设法让外部身份验证与 Microsoft 帐户一起使用。当用户单击登录时,他们会像这样被重定向ExternalLogin
到AccountController
这让他们使用他们的 Microsoft 帐户登录,一切似乎都运行良好。但是如何拦截访问特权操作的直接尝试,[Authorize]
以便将用户重定向到ExternalLogin
?可以设置默认操作Startup.cs
吗?
编辑 1尝试遵循我CustomAutorizationFilter
在 Filters 文件夹中创建的@Yves 的建议。它不检查任何条件
并编辑ConfigureServices
如下
当我在本地运行应用程序时,它不再进入主页。它返回一个空白http://localhost:52711/Account/ExternalLogin
显然有很多我不明白的。
编辑2:这是签名ExternalLogin
这就是ExternalLogin
ASP.Net 5 Web 应用程序模板中的开箱即用方式。
asp.net - 如何在 PasswordSignInAsync 之前检查 AspNetUser 是否满足条件?
我使用 Microsoft 提出的方式向 AspNetUsers 添加了一个新列:
这意味着管理员必须在注册后确认用户帐户。
默认登录方式是:
但正如我所见,我无法编辑“PasswordSignInAsync”背后的代码。那么,如果管理员未确认用户的帐户,我如何添加另一个将导致此方法返回结果的条件。IsNotAllowed?
我也不知道如何从数据库中获取有关用户的一些数据。我存储授权数据的 DbContext 如下所示:
通常我会使用:
访问一些数据。但是对于 VisualStudio 为我生成的 AspNetUsers 表,我没有任何“c# 类模型”可以放入 DbSet。然后,我如何访问用户数据以判断他的帐户是否由管理员确认?
asp.net-identity - 如何访问 _Layout 中的会话而不用担心它已经过期
我正在使用 ASP.NET Core 和 Identity 3。
当我登录时,我阅读了当前选择用户的 UI 模板,并在我的_Layout.cshml
文件中加载了css
基于此模板的模板。
用户可以更改他的主题,我通过控制器将其存储在会话变量中
我没有在每次cshtml
加载时都查询数据库,而是将模板放入 Session 变量中,并Layout.cshtml
根据模板呈现不同的 css
我想知道如果会话到期会发生什么。
考虑到我访问了 my
_Layout.cshtml
中的值,如果它变为 null 并在呈现新页面之前立即从数据库中加载它,无论如何都会捕获它。由于我使用 Identity 3,Claims 可能是更好的选择吗?我以前没用过。我上面的示例的代码是什么
另一个更适合我的方案的选择?
asp.net - 如何在 Identity 3.0 中获取当前的 UserId?User.GetUserId 返回 null
我需要获取提出某些请求的用户的 ID。在以前的 Identity 版本中,我可以这样做:
但它似乎不再可用。
还有类似的东西:
但它总是返回 null,即使 User.Identity.IsAuthenticated 为 true 并且 User.Identity.Name 设置正确。
我应该用什么来做到这一点?
编辑:我的身份验证逻辑基于[默认 Visual Studio 2015 模板],到目前为止我的身份没有太大变化,所以如果你想检查它是如何完成的,你可以在我粘贴的 github 链接上简单地看到它。