这里下载站-源码下载

shiro-uaa轻量级用户账号和身份认证服务 v1.0.7

大小:674.96KB语言:简体中文 类别:国产软件系统:JAVA
简介|教程|评论(0)
软件授权:开源软件时间:2022-03-13

标签:

软件介绍

shiro-uaa 是一个基于 Shiro 实现的轻量级用户账号和身份认证解决方案 (UAA) 服务。

 

来源

当刚开始一个项目时,相信Shiro的简便会成为大多数开发者权限框架的首选,但当项目扩展后,从1到n,并且需要统一认证和授权时,Shiro本身并不支持统一认证和授权成为了限制,Shiro有CasFilter,但是CAS又是另外一套框架,较为重,为了能使认证授权服务更简单,轻量,易用,所以有了Shiro-UAA

 

为什么用 shiro-uaa

轻量 UAA Server

纯粹的 Shiro

学习简单

容易扩展

开箱即用

 

认证授权流程  

 

说明

1、auth-server

maven

<dependency> <groupId>com.github.xfslove</groupId> <artifactId>shiro-uaa-resource-server</artifactId> <version>1.0.7-SNAPSHOT</version></dependency>

 

内置endpoint

URI地址说明/uaa-auth/authentication请求授权的地址,会定向到你的登录页/uaa-auth/authentication/apporveAuth Server同意授权,分发code地址/uaa-auth/access-token从Auth Server获取access-token的地址/uaa-auth/logout从Auth Server登出的地址

可扩展api

接口名说明AccessClientService接入应用服务AccessTokenServiceaccess-token服务AccountService用户服务AuthCodeServicecode服务RoleService角色服务

login

自定义Login页面和登录验证,implement org.apache.shiro.authc.credential.CredentialsMatcher ,实现登录时的校验逻辑,配置shiro.loginUrl

forwardError

默认情况下,当Server出现OAuthProblem的时候,会带着错误信息跳转到Resource的地址(redirect_uri参数),如果配置了forwardErrorUrl则不会重定向而显示错误页面,页面需要自定义,配置shiro.uaa.server.forwardErrorUrl, 此配置的目的是防止使用Server做非正常跳转

扩展的配置参数

参数名说明shiro.uaa.server.codeExpiresUAA分发Code过期时间,单位为秒shiro.uaa.server.accessTokenExpiresUAA分发AccessToken过期时间,单位为秒shiro.uaa.server.refreshTokenExpiresUAA分发RefreshToken过期时间,单位为秒shiro.loginUrl自定义的登录地址shiro.uaa.server.clients[].name接入应用名称,使用默认内存AccessClientService时有效shiro.uaa.server.clients[].clientId接入应用clientId,使用默认内存AccessClientService时有效shiro.uaa.server.clients[].clientSecret接入应用clientSecret,使用默认内存AccessClientService时有效shiro.uaa.server.roles[].name角色名称,对应Shiro的Role,使用默认内存RoleService时有效shiro.uaa.server.roles[].permCodes[]角色权限,对应Shiro的Permission,使用默认内存RoleService时有效shiro.uaa.server.roles[].clientId角色所属应用,使用默认内存RoleService时有效shiro.uaa.server.accounts[].username账号登录名,使用默认内存AccountService时有效shiro.uaa.server.accounts[].password账号密码,使用默认内存AccountService时有效shiro.uaa.server.accounts[].roles[]账号拥有角色,使用默认内存AccountService时有效shiro.uaa.server.forwardErrorUrl自定义OAuthProblem Error地址

 

2、resource-server

maven

<dependency> <groupId>com.github.xfslove</groupId> <artifactId>shiro-uaa-resource-server</artifactId> <version>1.0.7-SNAPSHOT</version></dependency>

 

filterChainDefinition

implement CustomFilterChainDefinition ,定义不同的path经过不同的Filter,默认/**经过resourceServerFilter

logout

先从Resource Server登出,再从UAA登出,配置shiro.logoutUrl参数加载LogoutEndpoint

注解

和Shiro一样

注解名@RequiresRoles@RequiresPermissions@RequiresUser@RequiresAuthentication@RequiresGuest

扩展的配置参数

参数名说明shiro.uaa.resource.serverSchemeUAA地址的Schemeshiro.uaa.resource.serverHostUAA地址的Hostshiro.uaa.resource.serverPortUAA地址的Portshiro.uaa.resource.serverContextPathUAA地址的ContextPathshiro.uaa.resource.clientIdUAA分配的ClientIdshiro.uaa.resource.clientSecretUAA分配的ClientSecretshiro.logoutUrlResource Server登出地址

 

3、biz-logger

记录用户的业务记录

<dependency> <groupId>com.github.xfslove</groupId> <artifactId>shiro-uaa-biz-logger</artifactId> <version>1.0.7-SNAPSHOT</version></dependency>

 

注解

注解名@BizLogger注解方法说明remark备注,默认:""class_是否记录类名,默认:truemethod是否记录方法名,默认:truearguments需要记录参数的索引,默认:{}return_是否记录返回值,默认:falsesubject是否记录用户名,默认:true


BizLoggerEntityStringifier

implement BizLoggerEntityStringifier ,自定义logger输出内容

 

Requires

jdk1.8+ and spring boot

 

TODO

提供auth-server可部署服务

为auth-server提供用户metrics

加载全部内容

热门推荐
推荐教程
猜你喜欢
相关合集
用户评论
暂停评论
本类排行