Commit 5225b23d authored by 马超's avatar 马超

doc: 添加统一认证登录配置说明

parent df704292
......@@ -96,12 +96,9 @@
- 下载gen-service配置文件:[gen-service配置文件](http://devdown.shxrtech.com/nacos_config_genservice_2021-07-15.zip),并导入Nacos。
修改`gen-service-dev.yml``gen-service-prod.yml` 数据库连接配置及redis配置
- 新版代码生成使用说明文档:
- 新版hibernate自动填充文档:
- 新建sinra-ldp-generator数据库,并在Nacos修改`gen-service-dev.yml``gen-service-prod.yml` 数据库连接配置及redis配置
- 新版代码生成使用说明文档:[LDP代码生成功能操作说明v2.0.docx](操作文档/LDP代码生成功能操作说明v2.0.docx)
- 新版hibernate自动填充文档:[LDP框架自定义注解.md](开发文档/LDP框架自定义注解.md) 第一章
......
......@@ -378,6 +378,8 @@ UUID:生成32位随机字符串。
PINYIN:将ref字段的拼音填充到此字段中。
**PS:旧版自动填充在1.2.45版本废弃,新版请查看文档[LDP框架自定义注解.md](LDP框架自定义注解.md)**
```java
// AutoService注解在新增时会对实体类中配置了@AutoComputed字段根据规则进行填充
@Override
......
......@@ -414,6 +414,34 @@ HqlWhereHelper conditions = HqlWhereHelper.getInstance()
.and("a.name", "浦东新区");
```
#### 多级级联的样例
员工实体中有组织关联属性org,组织实体中有职位关联属性positions,下面样例则是通过职位过滤员工信息
```java
// 不指定class
LinkedList<Condition> conditions = HqlWhereHelper.getInstance()
.join("org", "org")
.join("org.positions", "post")
.and("post.id", "bd5b28b7ccd74ba28708c95db54230f0")
.buildConditions();
List list = genericDaoService.findByConditions(LdpMcsEmployeeInfo.class, conditions);
```
另外一种写法需要指定class,这两种写法查询结果一致
```java
// 指定class
LinkedList<Condition> conditions = HqlWhereHelper.getInstance()
.join("org", LdpMcsOrganization.class,"org")
.join("org.positions", LdpMcsPosition.class,"position")
.and("position.id", "bd5b28b7ccd74ba28708c95db54230f0")
.buildConditions();
List list = genericDaoService.findByConditions(LdpMcsEmployeeInfo.class, conditions);
```
......
......@@ -135,13 +135,20 @@ LDP IEDA代码生成插件使用文档:[LDP代码生成IDEA插件安装和使
默认生成代码接口方法:
```java
/**
/**
* 新增地区
*
* @param area
*/
public String add(LdpArea area);
/**
* 保存地区
*
* @param ldpArea
*/
public boolean saveEntity(LdpArea ldpArea);
/**
* 批量新增地区
*
......@@ -233,6 +240,16 @@ LDP IEDA代码生成插件使用文档:[LDP代码生成IDEA插件安装和使
* @return
*/
public Page<LdpArea> findPage(Page paramPage, LdpArea area);
/**
* 将新数据集合与通过外键查询出的数据库数据集合进行差异化处理
*
* @param fpkFieldName 属性名
* @param fpkColumnName 表字段名
* @param fpkValue 外键值
* @param newList 新数据集合
*/
void saveOrDeleteByCollection(String fpkFieldName, String fpkColumnName, Object fpkValue, Collection<LdpArea> newList);
```
## 五、增删改查样例
......
......@@ -4,7 +4,7 @@
## 一、自动填充注解
### 1.1. @AutoFilled
### 1.1. @AutoFilled(1.2.45及以上)
依赖:base-api
......@@ -27,6 +27,18 @@
| DefaultFillType.FILL_PINYIN | 填充原字段pinyin值 | 实现AutoFillHandler接口,并注册Bean,Bean名称为DefaultFillType.FILL_PINYIN |
| DefaultFillType.FILL_VERSION | 填充version值 | 实现AutoFillHandler接口,并注册Bean,Bean名称为DefaultFillType.FILL_VERSION |
默认实现需要依赖`common-autofilled`
```xml
<dependency>
<groupId>com.sinra.ldp</groupId>
<artifactId>common-autofilled</artifactId>
<version>${ldp.version}</version>
</dependency>
```
#### 1.1.2 使用案例
```java
......@@ -65,7 +77,7 @@
#### 1.1.3 扩展填充算法
扩展填充算法的方式,新建一个类,并实现AutoFillHandler,根据业务判断需要 填充的值,这里举例,例如需要填充一个随机数,新建一个RandomFillHandler类,实现AutoFillHandler方法
扩展填充算法的方式,新建一个类,并实现AutoFillHandler,根据业务判断需要 填充的值,这里举例,例如需要填充一个随机数,新建一个RandomFillHandler类,实现AutoFillHandler接口,并填入返回值的泛型,这里是一个整形随机数,所以填入整形的包装类Integer:
```java
/**
......
# LDP统一认证登录配置
在mcs中对应用配置统一认证时,根据配置的不同,能达到不同的登录控制效果。
### 一、样例数据
**应用**
- 应用系统A:认证领域编码 demo
**用户**
- 用户1: 类型-管理,系统标识-无
- 用户2: 类型-应用,系统标识-无
- 用户3: 类型-应用,系统标识-demo
- 用户4: 类型-应用,系统标识-example
### 二、认证服务接口地址配置
在mcs中,打开左侧菜单`应用认证管理`->`认证服务`,找到认证领域demo的认证服务,点击修改,登录配置只需要修改下图圈中的接口地址即可:
![](../imgs/UAA登录配置.png)
#### 2.1 不做限制,所有用户均可登录
将接口地址设置为user/alllogin
```java
// 所有用户均可登录
user/alllogin
```
#### 2.2 管理用户、应用用户(无系统标识或相同系统标识)均可登录
将接口地址设置为user/applogin,配置相关参数用户类型usertype=0,系统标识sysid=demo
```java
// 除了用户4由于系统标识不一致不能登录,用户1、用户2、用户3均可登录
user/applogin?usertype=0&sysid=demo
```
#### 2.3 仅应用用户(不检查系统标识)可登录
将接口地址设置为user/login,并设置应用类型usertype=0
```java
// 除用户1是管理用户不能登录,用户2、用户3、用户4均可登录
user/login?usertype=0
```
#### 2.4 仅应用用户(相同系统标识)可登录
将接口地址设置为user/login,并设置应用类型usertype=0,系统标识sysid=demo
```java
// 仅用户3满足条件,可以登录,其它用户均不可登录
user/login?usertype=0&sysid=demo
```
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment