没有身份的 Cookie Asp.net core

2024-03-20

我目前正在开发一个不使用身份的项目。

问题是这个项目应该有一个记住我的选项,允许用户自动重新连接到网站。

我的问题是我找不到任何完整的教程来创建没有身份的 cookie。

如果有人有很好的代码示例或教程:)

Thanks


在我的项目中,我使用 AngularJS 作为前端,使用 .Net Core API 作为后端。 所以,我不需要配置页面AccessDeniedPath, LoginPath等等。

这就是我所做的:

  • 在启动类中配置cookie:

    public void Configure(IApplicationBuilder app) {
      //...
      CookieAuthenticationOptions options = new CookieAuthenticationOptions();
      options.AuthenticationScheme = "MyCookie";
      options.AutomaticAuthenticate = true;
      options.CookieName = "MyCookie";
      app.UseCookieAuthentication(options);
      //...
    }
    
  • 登录是这样的:

    [HttpPost, Route("Login")]
    public IActionResult LogIn([FromBody]LoginModel login) {
      //...
      var identity = new ClaimsIdentity("MyCookie");
      //add the login as the name of the user
      identity.AddClaim(new Claim(ClaimTypes.Name, login.Login));
      //add a list of roles
      foreach (Role r in someList.Roles) {
        identity.AddClaim(new Claim(ClaimTypes.Role, r.Name));
      }
      var principal = new ClaimsPrincipal(identity);
      HttpContext.Authentication.SignInAsync("MyCookie", principal).Wait();
      return Ok();
    }
    
  • 注销是这样的:

    [HttpPost, Route("Logout")]
    public async Task<IActionResult> LogOut() {
      await HttpContext.Authentication.SignOutAsync("MyCookie");
      return Ok();
    }
    
  • 然后你可以像这样使用它:

    [HttpPost]
    [Authorize(Roles = "Role1,Role2,Role3")]
    public IActionResult Post() {
      //...
      string userName = this.User.Identity.Name;
      //...
    }
    

*请注意该方法仅授权给“Role1、Role2 和 Role3”。并查看如何获取用户名。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

没有身份的 Cookie Asp.net core 的相关文章

随机推荐

  • 您可以使用重载的 bool() 来评估对 boolean 的构造函数调用吗?

    如果 bool 运算符重载 构造函数调用是否可以计算为布尔值 class A public A operator bool const return true main if A a A do stuff 上面的代码是否有效 或者我是否需要
  • 这个 Horizo​​ntalScrollView 布局或其 LinearLayout 父级是无用的

    我是 android 编程新手 我对水平滚动视图有问题 我遇到错误 此 Horizo ntalScrollView 布局或其 LinearLayout 父级无用
  • C# HttpClient 是否支持socks4/5 代理?

    我可以使用以下代码设置http代理 public class CustomFlurlHttpClient DefaultHttpClientFactory public override HttpClient CreateClient Ur
  • Python 相当于 R 的 cluster 包中的 daisy()

    我有一个数据集 其中包含分类 名义和序数 和数字属性 我想使用这些混合属性来计算我的观察结果的 不 相似度矩阵 使用daisy http stat ethz ch R manual R patched library cluster htm
  • 方法的通用接口重载?

    有没有一种好的 通用的方法来执行以下操作 而无需诉诸第二种方法或大量强制转换 我希望 API 尽可能轻量 并且在 OO 方面对我来说似乎没问题 class Foo public T Bar
  • 无法将(无类型字符串常量)转换为*字符串[重复]

    这个问题在这里已经有答案了 persistentvolumeclaim apiv1 PersistentVolumeClaim ObjectMeta metav1 ObjectMeta Name mysql pv claim Spec ap
  • 如何在 Django 中覆盖外部应用程序模板?

    我尝试覆盖django recaptcha模板没有任何运气 我究竟做错了什么 我知道在 Django 中覆盖外部应用程序的模板 https stackoverflow com questions 17918839 override temp
  • 如何解决平板电脑中的以下冲突?

    我为手机和平板电脑开发了一个 Android 应用程序 它已在两个模拟器中运行 当我在平板电脑模拟器中运行时 小部件的大小会填满屏幕 我应该怎么做才能解决这个冲突 您可以为手柄和平板电脑制作两种不同的布局res layout 用于手柄 和r
  • 从 CSV 文件读取的数据框中删除级别 - R

    我尝试加载棒球统计数据this http baseballguru com MLB2011 xls关联 当我使用从文件中读取它时 data lt read csv MLB2011 csv 它似乎将所有字段读取为因子值 我尝试通过执行以下操作
  • Str_Detect 使用跨列检测多列

    我想根据以下结果创建一个新专栏str detect跨多列使用across 例如 在下面的测试数据中 我想在以 job 开头的列中搜索 No job 如果在任何列中检测到该字符串 则返回 1 如果未检测到 则返回 0 test data lt
  • 使用 Keras 预测进行 Python 多处理

    Context Keras 模型 链接在这里 https drive google com file d 1f0WGCv11uObPziySE2wl6hXYKfyjqXBQ view usp sharing 为了 MWE 需要并行预测大量测
  • 像调用break一样短路Array.forEach

    1 2 3 forEach function el if el 1 break 我怎样才能使用新的来做到这一点forEachJavaScript 中的方法 我试过了return return false and break break崩溃和
  • 2020 年如何在 Windows 版 Git 中永久使用“LF”行结尾?

    我们的存储库使用LF 我的 Git for Windows 安装使用按原样签出 提交 Unix 风格的行结尾 但我在 IDE 中签出的每个文件中仍然出现错误 因为它仍然收到CRLF一直以来 即使它确实支持LF并配置为使用LF通过签到 edi
  • 使用 shell 脚本将人类可读的时间转换为 EPOCH

    我有一个人类可读的时间 08 18 2016 09 18 25 我希望使用 shell 脚本将其转换为纪元时间 我尝试过date s 但我收到错误 日期 无效日期 08 18 2016 09 32 42 将日期时间转换为纪元的规范方法是使用
  • Android Studio 2.3 更新后,Android 应用程序未在模拟器中加载

    我刚刚将 Android Studio 版本上传到 2 3 现在在模拟器中测试我的应用程序时遇到问题 它是一个 Nexus 5X 模拟器 上面加载了 Android 7 0 Nougat API 24 ABI armeabi v7a 我有一
  • Android 中的对象 XML 映射

    我正在开发一个基于客户端 服务器模型的应用程序 其中客户端在 Android 中 服务器在 PHP 中 我想将产品信息 例如名称 价格 说明 从客户端传输到服务器 我已读过编组 解组或序列化它可以实现 但所有教程和示例都是用 Java 编写
  • 业务逻辑层

    我正在使用 ASP NET 和 Telerik 控件 v2009 q2 来编程数据驱动的应用程序 我有一个名为 BLL 的类 它包含 几乎仅 静态类 这些类返回不同的对象 并以一些 id 作为参数 通常以列表形式返回对象组 我的问题是 总是
  • 两个日期范围之间有多少相等的天数,SQL

    我有包含日期 范围的表格 如下所示 DATE DATE2 14 03 2013 17 03 2013 13 04 2013 02 05 2013 我必须创建一个过程 返回等于两个日期范围的天数 一个在表中 另一个在表中 例如 我在表中的日期
  • g++ 版本 4.0.0.8 和 4.3.2 之间有什么区别?

    g 4 0 0 8 和 g 4 3 2 有什么区别 这两个是我在各种编程竞赛中见过的最常用的 C 编译器 我尝试用谷歌搜索 但一无所获 考虑到您对两者之间的 C 变化感兴趣 这实际上并不是一个 巨大的列表 4 0 0 8 只是 4 0 的补
  • 没有身份的 Cookie Asp.net core

    我目前正在开发一个不使用身份的项目 问题是这个项目应该有一个记住我的选项 允许用户自动重新连接到网站 我的问题是我找不到任何完整的教程来创建没有身份的 cookie 如果有人有很好的代码示例或教程 Thanks 在我的项目中 我使用 Ang