在 ShiroConfig 中設(shè)置filterChainDefinitionMap
配置url=anon
/admins/**=anon # 表示該 uri 可以匿名訪問
/admins/**=auth # 表示該 uri 需要認(rèn)證才能訪問
/admins/**=authcBasic # 表示該 uri 需要 httpBasic 認(rèn)證
/admins/**=perms[user:add:*] # 表示該 uri 需要認(rèn)證用戶擁有 user:add:* 權(quán)限才能訪問
/admins/**=port[8080] # 表示該 uri 需要使用 8080 端口
/admins/**=roles[admin] # 表示該 uri 需要認(rèn)證用戶擁有 admin 角色才能訪問
/admins/**=ssl # 表示該 uri 需要使用 https 協(xié)議
/admins/**=user # 表示該 uri 需要認(rèn)證或通過記住我認(rèn)證才能訪問
/logout=logout # 表示注銷,可以當(dāng)作固定配置
注意:
anon,authcBasic,authc,user 是認(rèn)證過濾器。
perms,roles,ssl,rest,port 是授權(quán)過濾器。
application-druid.yml
## 從庫(kù)數(shù)據(jù)源
slave:
# 開啟從庫(kù)
enabled: true
url: 數(shù)據(jù)源
username: 用戶名
password: 密碼
@DataSource(value = DataSourceType.SLAVE)
public List<User> selectUserList()
{
return mapper.selectUserList();
}
datetimepicker日期控件可以設(shè)置format
$('.input-group.date').datetimepicker({
format: 'yyyy-mm-dd hh:ii:ss',
autoclose: true,
minView: 0,
minuteStep:1
});
laydate日期控件可以設(shè)置common.js
配置type=datetime
layui.use('laydate', function() {
var laydate = layui.laydate;
var startDate = laydate.render({
elem: '#startTime',
max: $('#endTime').val(),
theme: 'molv',
trigger: 'click',
type : 'datetime',
done: function(value, date) {
// 結(jié)束時(shí)間大于開始時(shí)間
if (value !== '') {
endDate.config.min.year = date.year;
endDate.config.min.month = date.month - 1;
endDate.config.min.date = date.date;
} else {
endDate.config.min.year = '';
endDate.config.min.month = '';
endDate.config.min.date = '';
}
}
});
var endDate = laydate.render({
elem: '#endTime',
min: $('#startTime').val(),
theme: 'molv',
trigger: 'click',
type : 'datetime',
done: function(value, date) {
// 開始時(shí)間小于結(jié)束時(shí)間
if (value !== '') {
startDate.config.max.year = date.year;
startDate.config.max.month = date.month - 1;
startDate.config.max.date = date.date;
} else {
startDate.config.max.year = '';
startDate.config.max.month = '';
startDate.config.max.date = '';
}
}
});
});
默認(rèn)條件需要表注釋,特殊情況可在GenMapper.xml
去除table_comment條件
<select id="selectTableByName" parameterType="String" resultMap="TableInfoResult">
<include refid="selectGenVo"/>
where table_comment <> '' and table_schema = (select database())
</select>
這種情況都屬于權(quán)限標(biāo)識(shí)配置不對(duì)在菜單管理
配置好權(quán)限標(biāo)識(shí)(菜單&按鈕)
如參數(shù)管理
后臺(tái)配置@RequiresPermissions("system:config:view")
對(duì)應(yīng)參數(shù)管理權(quán)限標(biāo)識(shí)為system:config:view
注:如需要角色權(quán)限,配置角色權(quán)限字符 使用@RequiresRoles("admin")
富文本控件采用的summernote,圖片上傳處理需要設(shè)置callbacks函數(shù)
$('.summernote').summernote({
height : '220px',
lang : 'zh-CN',
callbacks: {
onImageUpload: function(files, editor, $editable) {
var formData = new FormData();
formData.append("file", files[0]);
$.ajax({
type: "POST",
url: ctx + "common/upload",
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(result) {
if (result.code == web_status.SUCCESS) {
$(obj).summernote('editor.insertImage', result.url, result.fileName);
} else {
$.modal.alertError(result.msg);
}
},
error: function(error) {
$.modal.alertWarning("圖片上傳失敗。");
}
});
}
}
});
建新新的頁(yè)簽有以下兩種方式(js&html)
// 方式1 js創(chuàng)建
function dept() {
var url = ctx + "system/dept";
createMenuItem(url, "部門管理");
}
// 方式2 html創(chuàng)建
<a class="menuItem" href="/system/dept">部門管理</a>
對(duì)于某些數(shù)據(jù)需要對(duì)金額,數(shù)量等進(jìn)行匯總,可以配置showFootertrue
表示尾部統(tǒng)計(jì)
// options 選項(xiàng)中添加尾部統(tǒng)計(jì)
showFooter: true,
// columns 中添加
{
field : 'money',
title : '金額',
sortable: true,
footerFormatter:function (value) {
return "總金額:" + value;
}
},
服務(wù)監(jiān)控中使用的Driud,默認(rèn)底部有阿里的廣告。如果是一個(gè)商業(yè)項(xiàng)目這個(gè)是很不雅也是不允許的
this.buildFooter();
buildFooter : function() {
var html ='此處省略一些相關(guān)JS代碼';
$(document.body).append(html);
},
對(duì)于某些特殊需要支持不同數(shù)據(jù)庫(kù),參考以下支持oracle
mysql
配置
<!--oracle驅(qū)動(dòng)-->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
## 數(shù)據(jù)源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
# 主庫(kù)數(shù)據(jù)源
master:
url: jdbc:mysql://127.0.0.1:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: password
# 從庫(kù)數(shù)據(jù)源
slave:
# 從數(shù)據(jù)源開關(guān)/默認(rèn)關(guān)閉
enabled: true
url: jdbc:oracle:thin:@127.0.0.1:1521:oracle
username: root
password: password
更多建議: