易商云页面认证失败是什么情况_Serverless 云原生框架 Malagu:认证与授权
认证与授权组件 @malagu/security
。Malagu 框架结合传统后台管理系统和云计算平台的认证与授权理念,并借鉴了 Spring Security 设计思想,抽象了一套通用的认证与授权模型。Spring Security 对前后端分离架构支持不是特别友好,Malagu 框架在这方面也做了不少改进。
框架提供的认证与授权默认实现比较简单,认证是基于用户名与密码方式;授权是授权装饰器 + EL 表达式。但是,框架提供了很多扩展点,基于这些扩展点,我们可以实现各种各样复杂的认证与授权实现,例如 @malagu/oauth2-client
组件是基于 @malagu/security
组件扩展实现,提供了基于 ODIC 的认证和 OAuth2.0 的授权能力。
使用方法
框架提供了一个开箱即用的组件 @malagu/security
,该组件提供了一套默认的行为规则,例如
- 默认的登录页面路由
- 默认的登录提交路由
- 默认的密码 Hash 算法
- 默认的登录成功页面路由
- 默认的登出成功页面路由
- 默认的用户服务接口实现,从内存中加载用户信息。等等
大部分默认行为,我们无需自定义。有少量是需要我们根据业务情况自己实现的,比如登录页面、登录成功页面、登出成功页面,以及用户服务接口的实现(从数据库中加载用户信息)。安装 @malagu/security
组件如下:
yarn add @malagu/security # 或者 npm i @malagu/security
实现登录页面
在登录页面中,默认需要通过 POST 方法(可以自定义),并且携带用户名(username)和密码(password)信息发送请求到 /login
,该动作将触发认证流程。
默认提供的内置用户信息:用户名/密码为 admin/123456(我们也可以实现用户服务接口 UserService
,提供真实业务的用户信息)。在后端,当用户名和密码认证成功,则跳转到登录成功页面,默认登录成功页面路由是 /
,否则,跳转到登录页面 /login
。
接口与页面保护
当我们添加了该组件后,默认对外的接口方法和页面都会被保护起来(可以通过属性 malagu.security.enabled
全局关闭方法保护),需要登录以后才能访问接口方法。我们也可以给接口方法配置需要拥有什么样的权限才能访问,该组件默认提供了 @PreAuthorize
装饰器,定义接口方法需要什么样的权限才能够被访问。
@Get()
@PreAuthorize('hasRole("admin")') // 表示当前登录的用户需要拥有管理员角色才可访问
@Transactional({ readOnly: true })
list(): Promise<User[]> {const repo = OrmContext.getRepository(User);return repo.find();
}
当没有登录的时候,通过 ajax 直接访问接口,将返回 401 状态码;通过浏览器访问页面,将返回 302 状态码,重定向到登录页面,登录成功后,又会重定向到最开始要访问的页面。
登录成功后,当我们有权限访问该方法或页面,则访问成功,否则,访问失败,返回 403 状态码。
匿名访问
方法上添加装饰器 @Anonymous
,可以让方法可以匿名访问。
@Get()
@Anonymous()
@Transactional({ readOnly: true })
list(): Promise<User[]> {const repo = OrmContext.getRepository(User);return repo.find();
}
也可以添加到类上,让类的所有方法可以里面访问。
@Controller('users')
@Anonymous()
export class UserController {...
}
相关链接
- Malagu 框架项目地址
- Malagu 框架文档地址
易商云页面认证失败是什么情况_Serverless 云原生框架 Malagu:认证与授权相关推荐
- 洛奇英雄转无法读取游戏服务器状态,洛奇英雄传无法连接服务器认证失败处理方法讲解...
洛奇英雄传无法连接服务器认证失败处理方法讲解,游戏里玩家要是因为服务器断开而耽误了砍怪那就是麻烦事了.下面带来洛奇英雄传无法连接服务器认证失败处理方法,无法解答的小伙伴可以过来参考. 洛奇英雄传服务器 ...
- secoclient认证失败解决方法
SECOCliet是中国国家密码管理局公布的加密产品,并且它支持USBKey.文件证书及云证书三种认证方式.如果使用SECOCliet进行认证时遇到了失败,可能是以下几种情况: 证书过期:SECOCl ...
- LDAP服务器不支持chap认证,终端使用EIA进行PEAP-GTC认证失败的原因分析
跟现场确认,现场认证的账号是从通用LDAP服务器同步过来的,配置的是PEAP-GTC认证.让现场反馈认证时的UAM调试日志和抓包:首先分析UAM调试日志如下: %% 2017-12-05 16:04: ...
- 深信服AC苹果用户上网认证失败,认证mac地址和用户终端mac地址不一致
环境: 深信服V13.0.47 苹果手机 IOS14 1个账号绑定2个终端上网 问题描述: 深信服AC苹果用户上网认证失败,认证mac地址和用户终端mac地址不一致,昨天认证成功,今天出现再认证,认证 ...
- 如何查看服务器资源占用情况,云服务器如何查看内存占用情况
云服务器如何查看内存占用情况 发布时间:2020-05-26 15:28:18 来源:亿速云 阅读:508 作者:栢白 云服务器如何查看内存占用情况?云 我们以 Linux 云服务器为例,介绍几个常用 ...
- 群晖设置腾讯云ddns显示认证失败的两种解决办法【实测第二种成功了】
群晖腾讯云ddns显示认证失败 背景: 问题: 前提条件 解决办法一:群晖自带的ddns解析 步骤1:获取 API 密钥信息 步骤2:群晖(Synology)NAS 配置 DDNS 解决办法二:利用D ...
- Spring Security总结之如何让认证失败消息自定义在前端页面显示(一)
采用springboot+thymeleaf 前端登录页面代码 <form action="/doLogin" method="post">用户名: ...
- 易支付代付系统 易商付(espay.cn)提供 全新UI页面设计功能齐全
介绍: 今天首发一款我们自己研发的易商付代付系统,本系统是提供给商户平台提现等使用,程序全面开源发布,无BUG已过各类平台检测,可自行测试! 使用本程序需先申请:支付宝单笔转账功能.微信付款到零钱功能 ...
- 为何亚马逊的中国电商之路以失败收场?当当网创始人这样说
谈到亚马逊中国电商业务为何会失败?当当网创始人李国庆及多位受访人士认为,这与亚马逊水土不服.不重视中国市场,中国区负责人毫无权力有很大关系. 亚马逊没有逃过外企入华的"本土化魔咒" ...
最新文章
- Spring事务之Propagation
- java中椭圆类_Java中的Graphics2D类基本使用的教程
- OpenCV使用GDAL读取地理空间栅格文件
- 在线教育音视频技术探索与应用
- ActiveMQ点对点通讯,生产者-消费者
- 泛型算法STL中的迭代器,泛型算法,萃取机的一个实现案例
- char类型是多少 mat_opencv之Mat数据类型
- 网络对抗技术作业一 201421410031
- CentOS6.x系统挂载NTFS分区的移动硬盘
- 【JAVA 第五章 】课后习题 随机数统计
- Struts2 返回 json 格式数据
- vue js中解决二进制转图片显示问题
- python创建一个csv文件_Python程序中用csv模块来操作csv文件的基本使用教程
- OpencV使用fitEllipse拟合椭圆后,获取椭圆参数
- 组态软件(Configure)
- 转:计算机视觉专业词汇(中英文对照)
- 如何绘制变参数根轨迹(针对复杂情况,无法分离出开环增益k*时)
- 安卓日历每日提醒_Android日历事件管理器,是时候为你的APP增加一个事件提醒功能啦!...
- 【yum是什么?】centos7基于阿里云,配置网络yum
- RxJava的Single、Completable以及Maybe
热门文章
- Unity3D谷歌地球
- 阿里云DLA新功能来袭 查询MongoDB嵌套字段更方便
- 一键托管,阿里云全链路追踪服务正式商用:成本仅自建1/5或更少
- 亿级消息系统的核心存储:Tablestore发布Timeline 2.0模型
- MaxCompute MapReduce
- “华为云-东吴杯”圆满成功,顶尖参赛者推动“智造”场景结构升级
- 刷爆了!GitHub标星1.6W,这个 Python 项目太实用!
- 开发者如何写好技术简历?
- 云计算的概念 - 初识云计算知识专栏(1)
- 你需要掌握的事件分发高阶知识