提交 0aaff163 编写于 作者: ibizdev's avatar ibizdev

ibiz4j 发布系统代码 [ibiz-uaa,UAA鉴权]

上级 a2c4ab11
......@@ -11,6 +11,7 @@ import org.apache.ibatis.mapping.VendorDatabaseIdProvider;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Properties;
/**
......@@ -19,7 +20,6 @@ import java.util.Properties;
@Configuration
@MapperScan(value="cn.ibizlab.core.*.mapper",nameGenerator = UniqueNameGenerator.class)
public class MybatisConfiguration {
/**
* mybatis适配多数据库
* @return
......@@ -53,5 +53,6 @@ public class MybatisConfiguration {
paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
return paginationInterceptor;
}
}
\ No newline at end of file
......@@ -150,7 +150,7 @@
<!--输出实体[SYS_USER_AUTH]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_user_auth-24-7">
<changeSet author="a_A_5d9d78509" id="tab-sys_user_auth-25-7">
<createTable tableName="IBZUSERAUTH">
<column name="AUTHID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_USER_AUTH_AUTHID"/>
......
......@@ -5,7 +5,7 @@
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
<select id="selectById" resultMap="SysUserAuthResultMap" databaseId="mysql">
<![CDATA[select t1.* from (SELECT t1.`AUTHID`, t1.`CREDENTIAL`, t1.`IDENTIFIER`, t1.`IDENTITY_TYPE`, t1.`USERID`, t11.`USERNAME` FROM `IBZUSERAUTH` t1 LEFT JOIN IBZUSER t11 ON t1.USERID = t11.USERID ) t1 where authid=#{id}]]>
<![CDATA[select t1.* from (SELECT t1.`AUTHID`, t1.`CREDENTIAL`, t1.`IDENTIFIER`, t1.`IDENTITY_TYPE`, t1.`USERID`, t11.`USERNAME` FROM `IBZUSERAUTH` t1 LEFT JOIN `IBZUSER` t11 ON t1.`USERID` = t11.`USERID` ) t1 where authid=#{id}]]>
</select>
<select id="selectById" resultMap="SysUserAuthResultMap" databaseId="oracle">
<![CDATA[select t1.* from (SELECT t1.AUTHID, t1.CREDENTIAL, t1.IDENTIFIER, t1.IDENTITY_TYPE, t1.USERID, t11.USERNAME FROM IBZUSERAUTH t1 LEFT JOIN IBZUSER t11 ON t1.USERID = t11.USERID ) t1 where authid=#{id}]]>
......@@ -44,7 +44,7 @@
<!--数据查询[Default]-->
<sql id="Default" databaseId="mysql">
<![CDATA[ SELECT t1.`AUTHID`, t1.`CREDENTIAL`, t1.`IDENTIFIER`, t1.`IDENTITY_TYPE`, t1.`USERID`, t11.`USERNAME` FROM `IBZUSERAUTH` t1 LEFT JOIN IBZUSER t11 ON t1.USERID = t11.USERID
<![CDATA[ SELECT t1.`AUTHID`, t1.`CREDENTIAL`, t1.`IDENTIFIER`, t1.`IDENTITY_TYPE`, t1.`USERID`, t11.`USERNAME` FROM `IBZUSERAUTH` t1 LEFT JOIN `IBZUSER` t11 ON t1.`USERID` = t11.`USERID`
]]>
</sql>
<!--数据查询[Default]-->
......@@ -59,7 +59,7 @@
</sql>
<!--数据查询[View]-->
<sql id="View" databaseId="mysql">
<![CDATA[ SELECT t1.`AUTHID`, t1.`CREDENTIAL`, t1.`IDENTIFIER`, t1.`IDENTITY_TYPE`, t1.`USERID`, t11.`USERNAME` FROM `IBZUSERAUTH` t1 LEFT JOIN IBZUSER t11 ON t1.USERID = t11.USERID
<![CDATA[ SELECT t1.`AUTHID`, t1.`CREDENTIAL`, t1.`IDENTIFIER`, t1.`IDENTITY_TYPE`, t1.`USERID`, t11.`USERNAME` FROM `IBZUSERAUTH` t1 LEFT JOIN `IBZUSER` t11 ON t1.`USERID` = t11.`USERID`
]]>
</sql>
<!--数据查询[View]-->
......
......@@ -1659,7 +1659,7 @@
"data_type":"VARCHAR",
"data_length":200,
"key_field":0,
"show_order":1000,
"show_order":6,
"major_field":1
}
],
......
package cn.ibizlab.util.helper;
import cn.ibizlab.util.domain.EntityBase;
import java.lang.reflect.Method;
import java.math.BigDecimal;
......@@ -312,6 +311,13 @@ public class RuleUtils
}
public static boolean ge(Object exp, Object finalObject)
{
if(ObjectUtils.isEmpty(exp)){
return false;
}
if(ObjectUtils.isEmpty(finalObject)){
return false;
}
return (!(lt(exp, finalObject)));
}
......@@ -321,6 +327,12 @@ public class RuleUtils
}
public static boolean le(Object exp, Object finalObject)
{
if(ObjectUtils.isEmpty(exp)){
return false;
}
if(ObjectUtils.isEmpty(finalObject)){
return false;
}
return (!(gt(exp, finalObject)));
}
......@@ -330,6 +342,15 @@ public class RuleUtils
}
public static boolean notin(Object expObj, Object finalObject)
{
if (ObjectUtils.isEmpty(finalObject))
return true;
if (ObjectUtils.isEmpty(expObj))
return false;
String tvs=expObj.toString().trim();
if(StringUtils.isEmpty(tvs)){
return false;
}
return (!in(expObj,finalObject));
}
public static boolean in(Object expObj, Object object, String members)
......@@ -340,7 +361,8 @@ public class RuleUtils
{
if (ObjectUtils.isEmpty(finalObject))
return false;
if (ObjectUtils.isEmpty(expObj))
return false;
String tvs=expObj.toString().trim();
if(StringUtils.isEmpty(tvs)){
return false;
......@@ -397,6 +419,16 @@ public class RuleUtils
}
public static boolean notmatchor(Object expObj, Object obj)
{
if(ObjectUtils.isEmpty(obj)){
return true;
}
if(ObjectUtils.isEmpty(expObj)){
return false;
}
String exp=expObj.toString().trim();
if(StringUtils.isEmpty(exp)){
return false;
}
return (!matchor(expObj,obj));
}
......@@ -406,6 +438,16 @@ public class RuleUtils
}
public static boolean notmatchand(Object expObj, Object finalObject)
{
if(ObjectUtils.isEmpty(finalObject)){
return true;
}
if(ObjectUtils.isEmpty(expObj)){
return false;
}
String exp=expObj.toString().trim();
if(StringUtils.isEmpty(exp)){
return false;
}
return (!matchand(expObj,finalObject));
}
......@@ -415,9 +457,12 @@ public class RuleUtils
}
public static boolean matchor(Object expObj, Object obj)
{
if(obj==null){
if(ObjectUtils.isEmpty(obj)){
return false;
}
if(ObjectUtils.isEmpty(expObj)){
return false;
}
String exp=expObj.toString().trim();
if(StringUtils.isEmpty(exp)){
return false;
......@@ -438,8 +483,11 @@ public class RuleUtils
public static boolean leftmatchor(Object expObj, Object obj)
{
if(obj==null){
return false;
if(ObjectUtils.isEmpty(obj)){
return false;
}
if(ObjectUtils.isEmpty(expObj)){
return false;
}
String exp=expObj.toString().trim();
if(StringUtils.isEmpty(exp)){
......@@ -462,8 +510,11 @@ public class RuleUtils
public static boolean rightmatchor(Object expObj, Object obj)
{
if(obj==null){
return false;
if(ObjectUtils.isEmpty(obj)){
return false;
}
if(ObjectUtils.isEmpty(expObj)){
return false;
}
String exp=expObj.toString().trim();
if(StringUtils.isEmpty(exp)){
......@@ -490,10 +541,10 @@ public class RuleUtils
}
public static boolean matchand(Object expObj,Object obj)
{
if(obj==null){
return false;
if(ObjectUtils.isEmpty(obj)){
return false;
}
if(expObj==null){
if(ObjectUtils.isEmpty(expObj)){
return false;
}
String exp=expObj.toString().trim();
......@@ -580,4 +631,56 @@ public class RuleUtils
}
return acts;
}
public static boolean inc2s(String tvs, Object finalObject)
{
if (ObjectUtils.isEmpty(finalObject))
return false;
if(StringUtils.isEmpty(tvs))
return false;
if (finalObject instanceof String)
{
tvs="s:"+tvs;
}
else
return false;
List acts = parseTvs(tvs);
for (Iterator localIterator = acts.iterator(); localIterator.hasNext();)
{
Object act = localIterator.next();
if (equal(c2s(act.toString()),c2s(finalObject.toString())))
return true;
}
return false;
}
public static String c2s(String str)
{
if(str==null)
return null;
if(str.length()<300)
{
str=str.trim();//1234567890()【】〔2018〕
str=str.replace("1","1").replace("2","2").replace("3","3").replace("4","4").
replace("5","5").replace("6","6").replace("7","7")
.replace("8","8").replace("9","9").replace("0","0")
.replace("(","〔").replace(")","〕")
.replace("(","〔").replace(")","〕")
.replace("【","〔").replace("】","〕")
.replace("[","〔").replace("]","〕");
}
return str;
}
public static boolean notinc2s(String tvs, Object finalObject)
{
return (!inc2s(tvs,finalObject));
}
}
\ No newline at end of file
package cn.ibizlab.util.helper;
import cn.ibizlab.util.domain.EntityBase;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.io.StringReader;
import java.util.*;
@Getter
@Setter
@NoArgsConstructor
@Accessors(chain = true)
public class Setting {
private String property;
private String value;
public static String getValue(String configString,String propertyName)
{
return DataObject.getStringValue(getMap(configString).get(propertyName),"");
}
public static <T extends EntityBase> T getEntity(String configString,T entityBase)
{
if(entityBase!=null) {
Map map=getMap(configString);
map.keySet().forEach(key->{
entityBase.set(key.toString(),map.get(key));
});
}
return entityBase;
}
public static Map getMap(String configString)
{
Map map=new HashMap();
map.put("param",configString);
if(!(StringUtils.isEmpty(configString)))
{
try
{
Object obj=JSON.parse(configString);
if(obj==null)
return map;
else if (obj instanceof JSONArray)
{
List<Setting> settings= JSONArray.parseArray(configString,Setting.class);
for(Setting setting:settings)
map.put(setting.getProperty(),setting.getValue());
}
else if (obj instanceof JSONObject)
{
JSONObject jo = (JSONObject)obj;
jo.keySet().forEach(key->{
map.put(key,jo.get(key));
});
}
}
catch (Exception ex)
{
if(configString.indexOf("=")>0)
{
Properties proper = new Properties();
try {
proper.load(new StringReader(configString)); //把字符串转为reader
} catch (IOException e) {
}
Enumeration enum1 = proper.propertyNames();
while (enum1.hasMoreElements()) {
String strKey = (String) enum1.nextElement();
String strValue = proper.getProperty(strKey);
map.put(strKey, strValue);
}
}
}
}
return map;
}
}
......@@ -49,6 +49,14 @@ public class AuthenticationUser implements UserDetails
*/
private String domain;
/**
* 租户
*/
private String srfdcid;
/**
* 动态实例标识
*/
private String srfdynainstid;
/**
* 部门标识
*/
private String mdeptid;
......
......@@ -16,11 +16,16 @@ public interface AuthenticationUserService extends UserDetailsService {
@Override
@Cacheable( value="ibzuaa_users", key = "'getByUsername:'+#p0")
AuthenticationUser loadUserByUsername(String username);
default AuthenticationUser loadUserByUsername(String username){
return null ;
}
@Cacheable( value="ibzuaa_users", key = "'getByUsername:'+#p0")
AuthenticationUser loadUserByLogin(String username,String password);
@CacheEvict( value="ibzuaa_users", key = "'getByUsername:'+#p0")
void resetByUsername(String username);
default void resetByUsername(String username){}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册