您现在的位置是:首页 > 正文

asp.net html验证,asp.net core2.2多用户验证与授权示例详解

2024-01-30 23:41:33阅读 0

前言

asp.net core2.2 用户验证 和授权有很详细和特贴心的介绍,我感兴趣的主要是这两篇:

我的项目有两类用户:

微信公众号用户,用户名为公众号的openid

企业微信的用户,用户名为企业微信的userid

每类用户中部分人员具有“Admin”角色

因为企业微信的用户有可能同时是微信公众号用户,即一个人两个名,所以需要多用户验证和授权。咱用代码说话最简洁,如下所示:

下面咱一步一步实现。

第一步 改造类Startup

修改ConfigureServices方法,加入以下代码

修改Configure方法,加入以下代码

第二步 添加验证

第三步 添加授权

就是在对应的Action前面加[Authorize]

Ctrl+F5运行,截屏如下:

162HQ235-0.png

162HU512-1.png

162HT338-2.png

162HR143-3.png

最后,讲讲碰到的坑和求助

一开始的验证的代码如下:

返回类型为Task ,因为懒得写View,顺手写了句return Content("OK");

从网站复制过来代码,AuthenticationProperties没有设置任何内容

运行起来以后不停的调用login,百度了半天,改了各种代码,最后把return Content("OK");改成return RedirectToAction("Index");一切OK!

揣摩原因可能是当 return Content("OK");时,自动调用AuthenticationProperties的RedirectUri,而RedirectUri为空时,自动调用自己。也不知道对不对。

这时候重视起RedirectUri,本来就要返回到returnUrl,是不是给RedirectUri赋值returnUrl就能自动跳转?

确实,return Content("OK");时候自动跳转了,return RedirectToAction("Index");无效。

最后把Task 改成Task ,把return ...删除,一切完美!(弱弱问一句,是不是原来就应该这样写?我一直在走弯路?)

求助

User有属性Identities,看起来可以有多个Identity,如何有?

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:https://www.cnblogs.com/catzhou/p/10243069.html

网站文章

  • 【misc】2021 极客大挑战(部分)

    【misc】2021 极客大挑战(部分)

    【misc】2021 极客大挑战(部分) 1、今天有被破防吗? 0x1 最早上的一批题目,当时没什么思路。后来pwn神在群里提到了RGB,瞬间懂了! 参考链接: gaps拼图 0x2 下载附件得到一个...

    2024-01-30 23:41:27
  • python-10

    纯函数实现面向对象-人狗大战、初识面向对象、类和对象相关的知识、对象和类的命名空间、

    2024-01-30 23:40:57
  • 用C#实现一个简易的Mips汇编器

    用C#实现一个简易的Mips汇编器

    用C#实现一个简易的Mips汇编器Mips31个寄存器Mips指令入门Mips内存安排C#实现项目结构Token.cs,定义Mips汇编语言的TokenConvertHelper.cs,作为进制转换类...

    2024-01-30 23:40:50
  • Leetcode 数组拆分 I

    给定长度为2n的数组, 你的任务是将这些数分成n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到n 的 min(ai, bi) 总和最大。 示例 1: 输入: [1,4,3,2] 输出: 4 解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4). 提示: n是正整数,范围在 [1, 10000...

    2024-01-30 23:40:41
  • html5学习笔记(一)html基础

    html5学习笔记(一)html基础

    记录自己的一点一点的学习过程

    2024-01-30 23:40:13
  • 飞机订票系统数据结构c语言代码,飞机订票系统(数据结构大作业,第一次写较大程序,谁能优化下?)...

    该楼层疑似违规已被系统折叠隐藏此楼查看此楼scanf("%d",&numb_ord);while(p_c!=NULL){if(strcmp(name,p_c->name)==0&&numb_ord==p_c->numb_ord&&p_c->numb_id==numb_id)//判断是否存在这样顾客,如果有,则做出相应处理{break;}...

    2024-01-30 23:40:05
  • 用户生命周期价值模型LTV

    用户生命周期价值模型LTV

    https://www.logiconsole.com/ltv-model/

    2024-01-30 23:39:59
  • Mybatis根据id批量的逻辑删除(更新单个字段)

    场景:传入参数,id数组 String[] userIds,进行逻辑删除,将对应记录的is_delete字段设置为1 update c_dlm_user

    2024-01-30 23:39:29
  • 基于golang语言Iris+Vue+ElementUI框架快速搭建后台管理系统

    一款 Go 语言基于Iris、Vue、ElementUI、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率...

    2024-01-30 23:39:18
  • Vue.js(四) 组件(component)

    Vue.js(四) 组件(component)

    一:Vue组件简介 传统前端中一个网页应用是由很多.html文件组成,每个html文件又分为三部分,第一部分就是&amp...

    2024-01-30 23:39:11