refactor: 后台应用默认使用配置项 AppId 值
This commit is contained in:
parent
932aa8f24b
commit
479f553bc2
|
@ -13,8 +13,8 @@
|
|||
},
|
||||
{
|
||||
"Category": "应用程序",
|
||||
"Name": "未设置",
|
||||
"Code": "0",
|
||||
"Name": "后台管理",
|
||||
"Code": "BA",
|
||||
"Define": NumberInt(0)
|
||||
},
|
||||
{
|
||||
|
@ -140,19 +140,19 @@
|
|||
{
|
||||
"Category": "应用程序",
|
||||
"Name": "测试平台",
|
||||
"Code": "2",
|
||||
"Code": "Demo",
|
||||
"Define": NumberInt(0)
|
||||
},
|
||||
{
|
||||
"Category": "测试平台",
|
||||
"Name": "网站标题",
|
||||
"Code": "托盘组垛程序",
|
||||
"Code": "前台演示系统",
|
||||
"Define": NumberInt(1)
|
||||
},
|
||||
{
|
||||
"Category": "测试平台",
|
||||
"Name": "网站页脚",
|
||||
"Code": "通用后台管理测试平台",
|
||||
"Code": "前台演示程序后台权限管理框架",
|
||||
"Define": NumberInt(1)
|
||||
},
|
||||
{
|
||||
|
@ -175,7 +175,7 @@
|
|||
},
|
||||
{
|
||||
"Category": "应用首页",
|
||||
"Name": "2",
|
||||
"Name": "Demo",
|
||||
"Code": "http://localhost:49185/",
|
||||
"Define": NumberInt(0)
|
||||
},
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b91"),
|
||||
|
@ -21,7 +21,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4a01"),
|
||||
|
@ -33,7 +33,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4a02"),
|
||||
|
@ -45,7 +45,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4a03"),
|
||||
|
@ -57,7 +57,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4a04"),
|
||||
|
@ -69,7 +69,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4a05"),
|
||||
|
@ -81,7 +81,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4a06"),
|
||||
|
@ -93,7 +93,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("4bd7b8445fa31256f77e4a01"),
|
||||
|
@ -105,7 +105,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b92"),
|
||||
|
@ -117,7 +117,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b93"),
|
||||
|
@ -129,7 +129,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b01"),
|
||||
|
@ -141,7 +141,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b02"),
|
||||
|
@ -153,7 +153,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b03"),
|
||||
|
@ -165,7 +165,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b04"),
|
||||
|
@ -177,7 +177,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b05"),
|
||||
|
@ -189,7 +189,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b06"),
|
||||
|
@ -201,7 +201,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b07"),
|
||||
|
@ -213,7 +213,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b94"),
|
||||
|
@ -225,7 +225,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b10"),
|
||||
|
@ -237,7 +237,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b11"),
|
||||
|
@ -249,7 +249,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b12"),
|
||||
|
@ -261,7 +261,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b13"),
|
||||
|
@ -273,7 +273,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b14"),
|
||||
|
@ -285,7 +285,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(1),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b95"),
|
||||
|
@ -297,7 +297,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b20"),
|
||||
|
@ -309,7 +309,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b21"),
|
||||
|
@ -321,7 +321,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b22"),
|
||||
|
@ -333,7 +333,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b23"),
|
||||
|
@ -345,7 +345,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b24"),
|
||||
|
@ -357,7 +357,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b96"),
|
||||
|
@ -369,7 +369,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b30"),
|
||||
|
@ -381,7 +381,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b31"),
|
||||
|
@ -393,7 +393,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b32"),
|
||||
|
@ -405,7 +405,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b33"),
|
||||
|
@ -417,7 +417,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b34"),
|
||||
|
@ -429,7 +429,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b35"),
|
||||
|
@ -441,7 +441,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b36"),
|
||||
|
@ -453,7 +453,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b97"),
|
||||
|
@ -465,7 +465,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b40"),
|
||||
|
@ -477,7 +477,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b41"),
|
||||
|
@ -489,7 +489,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b42"),
|
||||
|
@ -501,7 +501,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b43"),
|
||||
|
@ -513,7 +513,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b44"),
|
||||
|
@ -525,7 +525,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b98"),
|
||||
|
@ -537,7 +537,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b50"),
|
||||
|
@ -549,7 +549,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b51"),
|
||||
|
@ -561,7 +561,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b52"),
|
||||
|
@ -573,7 +573,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b99"),
|
||||
|
@ -585,7 +585,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b9a"),
|
||||
|
@ -597,7 +597,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b9b"),
|
||||
|
@ -609,7 +609,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b9c"),
|
||||
|
@ -621,7 +621,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd9b3d868aa001661776f57"),
|
||||
|
@ -633,7 +633,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd9b3d868aa001661776f58"),
|
||||
|
@ -645,7 +645,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd9b3d868aa001661776f59"),
|
||||
|
@ -657,7 +657,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd9b3d868aa001661776f60"),
|
||||
|
@ -669,7 +669,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b89"),
|
||||
|
@ -681,7 +681,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5cd7b8445fa31256f77e4b90"),
|
||||
|
@ -693,7 +693,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b9d"),
|
||||
|
@ -705,7 +705,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b59"),
|
||||
|
@ -717,7 +717,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b60"),
|
||||
|
@ -729,7 +729,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(2),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b9e"),
|
||||
|
@ -741,7 +741,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4b9f"),
|
||||
|
@ -753,7 +753,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4ba0"),
|
||||
|
@ -765,7 +765,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4ba1"),
|
||||
|
@ -777,7 +777,7 @@
|
|||
"Category": "0",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "0"
|
||||
"Application": "BA"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4ba2"),
|
||||
|
@ -789,7 +789,7 @@
|
|||
"Category": "1",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "2"
|
||||
"Application": "Demo"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd7b8445fa31256f77e4ba4"),
|
||||
|
@ -801,7 +801,7 @@
|
|||
"Category": "1",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "2"
|
||||
"Application": "Demo"
|
||||
},
|
||||
{
|
||||
"_id": ObjectId("5bd9b3d868aa001661776f56"),
|
||||
|
@ -813,6 +813,6 @@
|
|||
"Category": "1",
|
||||
"Target": "_self",
|
||||
"IsResource": NumberInt(0),
|
||||
"Application": "2"
|
||||
"Application": "Demo"
|
||||
}
|
||||
];
|
|
@ -2,12 +2,12 @@
|
|||
-- User/123789
|
||||
DELETE From Users where UserName in ('Admin', 'User');
|
||||
INSERT INTO Users (UserName, Password, PassSalt, DisplayName, RegisterTime, ApprovedTime, ApprovedBy, Description) values ('Admin', 'Es7WVgNsJuELwWK8daCqufUBknCsSC0IYDphQZAiGOo=', 'W5vpBEOYRGHkQXatN0t+ECM/U8cHDuEgrq56+zZBk4J481xH', 'Administrator', now(), now(), 'system', '系统默认创建');
|
||||
INSERT INTO Users (UserName, Password, PassSalt, DisplayName, RegisterTime, ApprovedTime, ApprovedBy, Description, App) values ('User', 'tXG/yNffpnm6cThrCH7wf6jN1ic3VHvLoY4OrzKtrZ4=', 'c5cIrRMn8XjB84M/D/X7Lg9uUqQFmYNEdxb/4HWH8OLa4pNZ', '测试账号', now(), now(), 'system', '系统默认创建', '2');
|
||||
INSERT INTO Users (UserName, Password, PassSalt, DisplayName, RegisterTime, ApprovedTime, ApprovedBy, Description, App) values ('User', 'tXG/yNffpnm6cThrCH7wf6jN1ic3VHvLoY4OrzKtrZ4=', 'c5cIrRMn8XjB84M/D/X7Lg9uUqQFmYNEdxb/4HWH8OLa4pNZ', '测试账号', now(), now(), 'system', '系统默认创建', 'Demo');
|
||||
|
||||
DELETE From Dicts Where Define = 0;
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('菜单', '系统菜单', '0', 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('菜单', '外部菜单', '1', 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('应用程序', '未设置', '0', 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('应用程序', '后台管理', 'BA', 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('网站设置', '网站标题', '后台管理系统', 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('网站设置', '网站页脚', '2016 © 通用后台管理系统', 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('系统通知', '用户注册', '0', 0);
|
||||
|
@ -147,31 +147,32 @@ INSERT INTO NavigationRole (NavigationID, RoleID) SELECT n.Id, r.Id FROM Navigat
|
|||
INSERT INTO NavigationRole (NavigationID, RoleID) SELECT n.Id, r.Id FROM Navigations n left join Roles r on 1=1 Where RoleName = 'Default' and ParentId in (select id from Navigations where Name in ('个人中心'));
|
||||
|
||||
-- Client Data
|
||||
Delete From Dicts Where Category = '应用程序' and Code = 2;
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('应用程序', '测试平台', 2, 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('应用首页', 2, 'http://localhost:49185/', 0);
|
||||
Delete From Dicts Where Category = '应用程序' and Code = 'Demo';
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('应用程序', '测试平台', 'Demo', 0);
|
||||
Delete From Dicts Where Category = '应用首页' and Name = 'Demo';
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('应用首页', 'Demo', 'http://localhost:49185/', 0);
|
||||
|
||||
Delete From Dicts Where Category = '测试平台';
|
||||
Insert into Dicts (Category, Name, Code, Define) values ('测试平台', '网站标题', 'BA Client', 1);
|
||||
Insert into Dicts (Category, Name, Code, Define) values ('测试平台', '网站页脚', '通用后台管理测试平台', 1);
|
||||
Insert into Dicts (Category, Name, Code, Define) values ('测试平台', '网站标题', '前台演示系统', 1);
|
||||
Insert into Dicts (Category, Name, Code, Define) values ('测试平台', '网站页脚', '前台演示程序后台权限管理框架', 1);
|
||||
Insert into Dicts (Category, Name, Code, Define) values ('测试平台', '个人中心地址', 'http://localhost:50852/Admin/Profiles', 1);
|
||||
Insert into Dicts (Category, Name, Code, Define) values ('测试平台', '系统设置地址', 'http://localhost:50852/Admin/Index', 1);
|
||||
Insert into Dicts (Category, Name, Code, Define) values ('测试平台', '系统通知地址', 'http://localhost:50852/Admin/Notifications', 1);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('测试平台', 'favicon', 'http://localhost:49185/favicon.ico', 1);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('测试平台', '网站图标', 'http://localhost:49185/favicon.png', 1);
|
||||
|
||||
Delete from Navigations where Application = 2;
|
||||
INSERT into Navigations (ParentId, Name, `Order`, Icon, Url, Category, Application) VALUES (0, '首页', 10, 'fa fa-fa', '~/Home/Index', '1', 2);
|
||||
Delete from Navigations where Application = 'Demo';
|
||||
INSERT into Navigations (ParentId, Name, `Order`, Icon, Url, Category, Application) VALUES (0, '首页', 10, 'fa fa-fa', '~/Home/Index', '1', 'Demo');
|
||||
|
||||
INSERT into Navigations (ParentId, Name, `Order`, Icon, Url, Category, Application) VALUES (0, '测试页面', 20, 'fa fa-fa', '#', '1', 2);
|
||||
INSERT into Navigations (ParentId, Name, `Order`, Icon, Url, Category, Application) VALUES (@@identity, '关于', 10, 'fa fa-fa', '~/Home/About', '1', 2);
|
||||
INSERT into Navigations (ParentId, Name, `Order`, Icon, Url, Category, Application) VALUES (0, '测试页面', 20, 'fa fa-fa', '#', '1', 'Demo');
|
||||
INSERT into Navigations (ParentId, Name, `Order`, Icon, Url, Category, Application) VALUES (@@identity, '关于', 10, 'fa fa-fa', '~/Home/About', '1', 'Demo');
|
||||
|
||||
INSERT into Navigations (ParentId, Name, `Order`, Icon, Url, Category, Application) VALUES (0, '返回码云', 20, 'fa fa-fa', 'https://gitee.com/LongbowEnterprise/BootstrapAdmin', '1', 2);
|
||||
INSERT into Navigations (ParentId, Name, `Order`, Icon, Url, Category, Application) VALUES (0, '返回码云', 20, 'fa fa-fa', 'https://gitee.com/LongbowEnterprise/BootstrapAdmin', '1', 'Demo');
|
||||
|
||||
-- 菜单授权
|
||||
INSERT INTO NavigationRole (NavigationId, RoleId) SELECT n.ID, r.ID FROM Navigations n left join Roles r on 1=1 Where r.RoleName = 'Administrators' and Application= 2;
|
||||
INSERT INTO NavigationRole (NavigationId, RoleId) SELECT n.ID, r.ID FROM Navigations n left join Roles r on 1=1 Where r.RoleName = 'Default' and Application = 2;
|
||||
INSERT INTO NavigationRole (NavigationId, RoleId) SELECT n.ID, r.ID FROM Navigations n left join Roles r on 1=1 Where r.RoleName = 'Administrators' and Application= 'Demo';
|
||||
INSERT INTO NavigationRole (NavigationId, RoleId) SELECT n.ID, r.ID FROM Navigations n left join Roles r on 1=1 Where r.RoleName = 'Default' and Application = 'Demo';
|
||||
|
||||
-- 角色对应用授权
|
||||
DELETE From RoleApp where AppId = '2';
|
||||
INSERT INTO RoleApp (AppId, RoleId) SELECT '2', ID From Roles Where RoleName = 'Default';
|
||||
DELETE From RoleApp where AppId = 'Demo';
|
||||
INSERT INTO RoleApp (AppId, RoleId) SELECT 'Demo', ID From Roles Where RoleName = 'Default';
|
||||
|
|
|
@ -68,7 +68,7 @@ CREATE TABLE Navigations(
|
|||
Category VARCHAR (50) DEFAULT 0,
|
||||
Target VARCHAR (10) DEFAULT '_self',
|
||||
IsResource INT DEFAULT 0,
|
||||
Application VARCHAR (200) DEFAULT 0
|
||||
Application VARCHAR (200) DEFAULT 'BA'
|
||||
);
|
||||
|
||||
CREATE TABLE NavigationRole(
|
||||
|
|
|
@ -7,7 +7,7 @@ INSERT INTO Users (UserName, Password, PassSalt, DisplayName, RegisterTime, Appr
|
|||
DELETE From Dicts Where Define = 0;
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('菜单', '系统菜单', '0', 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('菜单', '外部菜单', '1', 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('应用程序', '未设置', '0', 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('应用程序', '未设置', '', 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('网站设置', '网站标题', '后台管理系统', 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('网站设置', '网站页脚', '2016 © 通用后台管理系统', 0);
|
||||
INSERT INTO Dicts (Category, Name, Code, Define) VALUES ('系统通知', '用户注册', '0', 0);
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
-- User/123789
|
||||
DELETE From Users where UserName in ('Admin', 'User');
|
||||
INSERT INTO Users (UserName, Password, PassSalt, DisplayName, RegisterTime, ApprovedTime, ApprovedBy, [Description]) values ('Admin', 'Es7WVgNsJuELwWK8daCqufUBknCsSC0IYDphQZAiGOo=', 'W5vpBEOYRGHkQXatN0t+ECM/U8cHDuEgrq56+zZBk4J481xH', 'Administrator', datetime(CURRENT_TIMESTAMP, 'localtime'), datetime(CURRENT_TIMESTAMP, 'localtime'), 'system', '系统默认创建');
|
||||
INSERT INTO Users (UserName, Password, PassSalt, DisplayName, RegisterTime, ApprovedTime, ApprovedBy, [Description], [App]) values ('User', 'tXG/yNffpnm6cThrCH7wf6jN1ic3VHvLoY4OrzKtrZ4=', 'c5cIrRMn8XjB84M/D/X7Lg9uUqQFmYNEdxb/4HWH8OLa4pNZ', '测试账号', datetime(CURRENT_TIMESTAMP, 'localtime'), datetime(CURRENT_TIMESTAMP, 'localtime'), 'system', '系统默认创建', '2');
|
||||
INSERT INTO Users (UserName, Password, PassSalt, DisplayName, RegisterTime, ApprovedTime, ApprovedBy, [Description], [App]) values ('User', 'tXG/yNffpnm6cThrCH7wf6jN1ic3VHvLoY4OrzKtrZ4=', 'c5cIrRMn8XjB84M/D/X7Lg9uUqQFmYNEdxb/4HWH8OLa4pNZ', '测试账号', datetime(CURRENT_TIMESTAMP, 'localtime'), datetime(CURRENT_TIMESTAMP, 'localtime'), 'system', '系统默认创建', 'Demo');
|
||||
|
||||
DELETE From Dicts Where Define = 0;
|
||||
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('菜单', '系统菜单', '0', 0);
|
||||
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('菜单', '外部菜单', '1', 0);
|
||||
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('应用程序', '未设置', '0', 0);
|
||||
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('应用程序', '后台管理', 'BA', 0);
|
||||
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('网站设置', '网站标题', '后台管理系统', 0);
|
||||
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('网站设置', '网站页脚', '2016 © 通用后台管理系统', 0);
|
||||
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('系统通知', '用户注册', '0', 0);
|
||||
|
@ -138,46 +138,46 @@ INSERT INTO [Roles] ([RoleName], [Description]) VALUES ('Administrators', '系
|
|||
INSERT INTO [Roles] ([RoleName], [Description]) VALUES ('Default', '默认用户,可访问前台页面');
|
||||
|
||||
DELETE FROM RoleGroup;
|
||||
INSERT INTO RoleGroup (GroupId, RoleId) SELECT g.Id, r.Id From Groups g left join Roles r where GroupName = 'Admin' and RoleName = 'Administrators';
|
||||
INSERT INTO RoleGroup (GroupId, RoleId) SELECT g.Id, r.Id From Groups g left join Roles r on 1=1 where GroupName = 'Admin' and RoleName = 'Administrators';
|
||||
|
||||
DELETE FROM UserGroup;
|
||||
|
||||
DELETE FROM UserRole;
|
||||
INSERT INTO UserRole (UserId, RoleId) SELECT u.Id, r.Id From Users u left join Roles r where UserName = 'Admin' and RoleName = 'Administrators';
|
||||
INSERT INTO UserRole (UserId, RoleId) SELECT u.Id, r.Id From Users u left join Roles r where UserName = 'User' and RoleName = 'Default';
|
||||
INSERT INTO UserRole (UserId, RoleId) SELECT u.Id, r.Id From Users u left join Roles r on 1=1 where UserName = 'Admin' and RoleName = 'Administrators';
|
||||
INSERT INTO UserRole (UserId, RoleId) SELECT u.Id, r.Id From Users u left join Roles r on 1=1 where UserName = 'User' and RoleName = 'Default';
|
||||
|
||||
DELETE FROM NavigationRole;
|
||||
INSERT INTO NavigationRole (NavigationID, RoleID) SELECT n.Id, r.Id FROM Navigations n left join Roles r Where RoleName = 'Administrators';
|
||||
INSERT INTO NavigationRole (NavigationID, RoleID) SELECT n.Id, r.Id FROM Navigations n left join Roles r Where RoleName = 'Default' and Name in ('后台管理', '个人中心', '返回前台', '通知管理');
|
||||
INSERT INTO NavigationRole (NavigationID, RoleID) SELECT n.Id, r.Id FROM Navigations n left join Roles r Where RoleName = 'Default' and ParentId in (select id from Navigations where Name in ('个人中心'));
|
||||
INSERT INTO NavigationRole (NavigationID, RoleID) SELECT n.Id, r.Id FROM Navigations n left join Roles r on 1=1 Where RoleName = 'Administrators';
|
||||
INSERT INTO NavigationRole (NavigationID, RoleID) SELECT n.Id, r.Id FROM Navigations n left join Roles r on 1=1 Where RoleName = 'Default' and Name in ('后台管理', '个人中心', '返回前台', '通知管理');
|
||||
INSERT INTO NavigationRole (NavigationID, RoleID) SELECT n.Id, r.Id FROM Navigations n left join Roles r on 1=1 Where RoleName = 'Default' and ParentId in (select id from Navigations where Name in ('个人中心'));
|
||||
|
||||
-- Client Data
|
||||
Delete From [Dicts] Where Category = '应用程序' and Code = 2;
|
||||
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('应用程序', '测试平台', 2, 0);
|
||||
Delete From [Dicts] Where Category = '应用首页' and Name = 2;
|
||||
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('应用首页', 2, 'http://localhost:49185/', 0);
|
||||
Delete From [Dicts] Where Category = '应用程序' and Code = 'Demo';
|
||||
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('应用程序', '测试平台', 'Demo', 0);
|
||||
Delete From [Dicts] Where Category = '应用首页' and Name = 'Demo';
|
||||
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('应用首页', 'Demo', 'http://localhost:49185/', 0);
|
||||
|
||||
Delete From [Dicts] Where Category = '测试平台';
|
||||
Insert into Dicts (Category, [Name], Code, Define) values ('测试平台', '网站标题', '前台演示系统', 1);
|
||||
Insert into Dicts (Category, [Name], Code, Define) values ('测试平台', '网站页脚', '通用后台管理测试平台', 1);
|
||||
Insert into Dicts (Category, [Name], Code, Define) values ('测试平台', '网站页脚', '前台演示程序后台权限管理框架', 1);
|
||||
Insert into Dicts (Category, [Name], Code, Define) values ('测试平台', '个人中心地址', 'http://localhost:50852/Admin/Profiles', 1);
|
||||
Insert into Dicts (Category, [Name], Code, Define) values ('测试平台', '系统设置地址', 'http://localhost:50852/Admin/Index', 1);
|
||||
Insert into Dicts (Category, [Name], Code, Define) values ('测试平台', '系统通知地址', 'http://localhost:50852/Admin/Notifications', 1);
|
||||
INSERT INTO Dicts (Category, [Name], Code, Define) VALUES ('测试平台', 'favicon', 'http://localhost:49185/favicon.ico', 1);
|
||||
INSERT INTO Dicts (Category, [Name], Code, Define) VALUES ('测试平台', '网站图标', 'http://localhost:49185/favicon.png', 1);
|
||||
|
||||
Delete from [Navigations] where Application = 2;
|
||||
INSERT into [Navigations] ([ParentId], [Name], [Order], [Icon], [Url], [Category], [Application]) VALUES (0, '首页', 10, 'fa fa-fa', '~/Home/Index', '1', 2);
|
||||
Delete from [Navigations] where Application = 'Demo';
|
||||
INSERT into [Navigations] ([ParentId], [Name], [Order], [Icon], [Url], [Category], [Application]) VALUES (0, '首页', 10, 'fa fa-fa', '~/Home/Index', '1', 'Demo');
|
||||
|
||||
INSERT into [Navigations] ([ParentId], [Name], [Order], [Icon], [Url], [Category], [Application]) VALUES (0, '测试页面', 20, 'fa fa-fa', '#', '1', 2);
|
||||
INSERT into [Navigations] ([ParentId], [Name], [Order], [Icon], [Url], [Category], [Application]) VALUES (last_insert_rowid(), '关于', 10, 'fa fa-fa', '~/Home/About', '1', 2);
|
||||
INSERT into [Navigations] ([ParentId], [Name], [Order], [Icon], [Url], [Category], [Application]) VALUES (0, '测试页面', 20, 'fa fa-fa', '#', '1', 'Demo');
|
||||
INSERT into [Navigations] ([ParentId], [Name], [Order], [Icon], [Url], [Category], [Application]) VALUES (last_insert_rowid(), '关于', 10, 'fa fa-fa', '~/Home/About', '1', 'Demo');
|
||||
|
||||
INSERT into [Navigations] ([ParentId], [Name], [Order], [Icon], [Url], [Category], [Application]) VALUES (0, '返回码云', 20, 'fa fa-fa', 'https://gitee.com/LongbowEnterprise/BootstrapAdmin', '1', 2);
|
||||
INSERT into [Navigations] ([ParentId], [Name], [Order], [Icon], [Url], [Category], [Application]) VALUES (0, '返回码云', 20, 'fa fa-fa', 'https://gitee.com/LongbowEnterprise/BootstrapAdmin', '1', 'Demo');
|
||||
|
||||
-- 菜单授权
|
||||
INSERT INTO NavigationRole (NavigationId, RoleId) SELECT n.ID, r.ID FROM Navigations n left join Roles r Where r.RoleName = 'Administrators' and [Application] = 2;
|
||||
INSERT INTO NavigationRole (NavigationId, RoleId) SELECT n.ID, r.ID FROM Navigations n left join Roles r Where r.RoleName = 'Default' and [Application] = 2;
|
||||
INSERT INTO NavigationRole (NavigationId, RoleId) SELECT n.ID, r.ID FROM Navigations n left join Roles r on 1=1 Where r.RoleName = 'Administrators' and [Application] = 'Demo';
|
||||
INSERT INTO NavigationRole (NavigationId, RoleId) SELECT n.ID, r.ID FROM Navigations n left join Roles r on 1=1 Where r.RoleName = 'Default' and [Application] = 'Demo';
|
||||
|
||||
-- 角色对应用授权
|
||||
DELETE From RoleApp where AppId = '2';
|
||||
INSERT INTO RoleApp (AppId, RoleId) SELECT '2', ID From Roles Where RoleName = 'Default';
|
||||
DELETE From RoleApp where AppId = 'Demo';
|
||||
INSERT INTO RoleApp (AppId, RoleId) SELECT 'Demo', ID From Roles Where RoleName = 'Default';
|
|
@ -63,12 +63,12 @@ CREATE TABLE Navigations(
|
|||
ParentId INT DEFAULT (0),
|
||||
Name VARCHAR (50) NOT NULL,
|
||||
[Order] INT NOT NULL DEFAULT (0),
|
||||
Icon VARCHAR (50) DEFAULT none,
|
||||
Icon VARCHAR (50) DEFAULT (none),
|
||||
Url VARCHAR (4000) NULL,
|
||||
Category VARCHAR (50) DEFAULT 0,
|
||||
Target VARCHAR (10) DEFAULT _self,
|
||||
Target VARCHAR (10) DEFAULT (_self),
|
||||
IsResource INT DEFAULT (0),
|
||||
Application VARCHAR (200) DEFAULT (0)
|
||||
Application VARCHAR (200) DEFAULT (BA) COLLATE NOCASE
|
||||
);
|
||||
|
||||
CREATE TABLE NavigationRole(
|
||||
|
@ -89,7 +89,7 @@ CREATE TABLE Logs(
|
|||
RequestUrl VARCHAR (500) NOT NULL,
|
||||
RequestData TEXT NULL,
|
||||
UserAgent VARCHAR (2000) NULL,
|
||||
Referer VARCHAR (2000)
|
||||
Referer VARCHAR (2000)
|
||||
);
|
||||
|
||||
CREATE TABLE Groups(
|
||||
|
|
|
@ -5,12 +5,12 @@ GO
|
|||
-- User/123789
|
||||
DELETE From Users where UserName in ('Admin', 'User')
|
||||
INSERT INTO Users (UserName, Password, PassSalt, DisplayName, RegisterTime, ApprovedTime, ApprovedBy, [Description]) values ('Admin', 'Es7WVgNsJuELwWK8daCqufUBknCsSC0IYDphQZAiGOo=', 'W5vpBEOYRGHkQXatN0t+ECM/U8cHDuEgrq56+zZBk4J481xH', 'Administrator', GetDate(), GetDate(), 'system', N'系统默认创建')
|
||||
INSERT INTO Users (UserName, Password, PassSalt, DisplayName, RegisterTime, ApprovedTime, ApprovedBy, [Description], App) values ('User', 'tXG/yNffpnm6cThrCH7wf6jN1ic3VHvLoY4OrzKtrZ4=', 'c5cIrRMn8XjB84M/D/X7Lg9uUqQFmYNEdxb/4HWH8OLa4pNZ', N'测试账号', GetDate(), GetDate(), 'system', N'系统默认创建', '2')
|
||||
INSERT INTO Users (UserName, Password, PassSalt, DisplayName, RegisterTime, ApprovedTime, ApprovedBy, [Description], App) values ('User', 'tXG/yNffpnm6cThrCH7wf6jN1ic3VHvLoY4OrzKtrZ4=', 'c5cIrRMn8XjB84M/D/X7Lg9uUqQFmYNEdxb/4HWH8OLa4pNZ', N'测试账号', GetDate(), GetDate(), 'system', N'系统默认创建', 'Demo')
|
||||
|
||||
DELETE From Dicts Where Define = 0
|
||||
INSERT [dbo].[Dicts] ([Category], [Name], [Code], [Define]) VALUES (N'菜单', N'系统菜单', N'0', 0)
|
||||
INSERT [dbo].[Dicts] ([Category], [Name], [Code], [Define]) VALUES (N'菜单', N'外部菜单', N'1', 0)
|
||||
INSERT [dbo].[Dicts] ([Category], [Name], [Code], [Define]) VALUES (N'应用程序', N'未设置', N'0', 0)
|
||||
INSERT [dbo].[Dicts] ([Category], [Name], [Code], [Define]) VALUES (N'应用程序', N'后台管理', N'BA', 0)
|
||||
INSERT [dbo].[Dicts] ([Category], [Name], [Code], [Define]) VALUES (N'网站设置', N'网站标题', N'后台管理系统', 0)
|
||||
INSERT [dbo].[Dicts] ([Category], [Name], [Code], [Define]) VALUES (N'网站设置', N'网站页脚', N'2016 © 通用后台管理系统', 0)
|
||||
INSERT [dbo].[Dicts] ([Category], [Name], [Code], [Define]) VALUES (N'系统通知', N'用户注册', N'0', 0)
|
||||
|
@ -154,9 +154,9 @@ INSERT INTO NavigationRole (NavigationID, RoleID) SELECT n.Id, r.Id FROM Navigat
|
|||
INSERT INTO NavigationRole (NavigationID, RoleID) SELECT n.Id, r.Id FROM Navigations n left join Roles r on 1=1 where RoleName = 'Default' and ParentId in (select Id from Navigations where Name in (N'个人中心'))
|
||||
|
||||
-- Client Data
|
||||
Declare @AppId nvarchar(1)
|
||||
set @AppId = N'2'
|
||||
declare @AppName nvarchar(8)
|
||||
Declare @AppId nvarchar(50)
|
||||
set @AppId = N'Demo'
|
||||
declare @AppName nvarchar(50)
|
||||
set @AppName = N'测试平台'
|
||||
|
||||
Delete From [dbo].[Dicts] Where Category = N'应用程序' and Code = @AppId
|
||||
|
@ -165,8 +165,8 @@ Delete From [Dicts] Where Category = '应用首页' and Name = @AppId
|
|||
INSERT [dbo].[Dicts] ([Category], [Name], [Code], [Define]) VALUES (N'应用首页', @AppId, 'http://localhost:49185/', 0)
|
||||
|
||||
Delete From [dbo].[Dicts] Where Category = @AppName
|
||||
Insert Dicts (Category, Name, Code, Define) values (@AppName, N'网站标题', N'托盘组垛程序', 1);
|
||||
Insert Dicts (Category, Name, Code, Define) values (@AppName, N'网站页脚', N'通用后台管理测试平台', 1);
|
||||
Insert Dicts (Category, Name, Code, Define) values (@AppName, N'网站标题', N'前台演示程序', 1);
|
||||
Insert Dicts (Category, Name, Code, Define) values (@AppName, N'网站页脚', N'前台演示程序后台权限管理框架', 1);
|
||||
Insert Dicts (Category, Name, Code, Define) values (@AppName, N'个人中心地址', N'http://localhost:50852/Admin/Profiles', 1);
|
||||
Insert Dicts (Category, Name, Code, Define) values (@AppName, N'系统设置地址', N'http://localhost:50852/Admin/Index', 1);
|
||||
Insert Dicts (Category, Name, Code, Define) values (@AppName, N'系统通知地址', N'http://localhost:50852/Admin/Notifications', 1);
|
||||
|
|
|
@ -240,7 +240,7 @@ GO
|
|||
ALTER TABLE [dbo].[Navigations] ADD CONSTRAINT [DF_Navigations_IsResource] DEFAULT ((0)) FOR [IsResource]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[Navigations] ADD CONSTRAINT [DF_Navigations_Application] DEFAULT ((0)) FOR [Application]
|
||||
ALTER TABLE [dbo].[Navigations] ADD CONSTRAINT [DF_Navigations_Application] DEFAULT (N'BA') FOR [Application]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[Navigations] ADD CONSTRAINT [DF_Navigations_Target] DEFAULT ('_self') FOR [Target]
|
||||
|
|
|
@ -10,12 +10,11 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Bootstrap.Security.Mvc" Version="3.0.2-beta3" />
|
||||
<PackageReference Include="Bootstrap.Security.Mvc" Version="3.0.2-beta4" />
|
||||
<PackageReference Include="Longbow.Logging" Version="3.0.2-beta1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning" Version="4.0.0-preview8.19405.7" />
|
||||
<PackageReference Include="Sentry.AspNetCore" Version="2.0.0-beta4" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0-rc4" />
|
||||
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="5.6.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
Binary file not shown.
|
@ -1,5 +1,6 @@
|
|||
using Bootstrap.Admin.Models;
|
||||
using Bootstrap.DataAccess;
|
||||
using Bootstrap.Security.Mvc;
|
||||
using Longbow.GiteeAuth;
|
||||
using Longbow.GitHubAuth;
|
||||
using Longbow.WeChatAuth;
|
||||
|
@ -72,7 +73,7 @@ namespace Bootstrap.Admin.Controllers
|
|||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult Login([FromQuery] string appId = "0")
|
||||
public ActionResult Login([FromQuery]string appId = null)
|
||||
{
|
||||
if (DictHelper.RetrieveSystemModel())
|
||||
{
|
||||
|
@ -137,13 +138,12 @@ namespace Bootstrap.Admin.Controllers
|
|||
/// <param name="userName">User name.</param>
|
||||
/// <param name="password">Password.</param>
|
||||
/// <param name="remember">Remember.</param>
|
||||
/// <param name="appId"></param>
|
||||
[HttpPost]
|
||||
public async Task<IActionResult> Login(string userName, string password, string remember, string appId = "0")
|
||||
public async Task<IActionResult> Login(string userName, string password, string remember)
|
||||
{
|
||||
var auth = UserHelper.Authenticate(userName, password);
|
||||
HttpContext.Log(userName, auth);
|
||||
return auth ? await SignInAsync(userName, remember == "true") : View("Login", new LoginModel(appId) { AuthFailed = true });
|
||||
return auth ? await SignInAsync(userName, remember == "true") : View("Login", new LoginModel() { AuthFailed = true });
|
||||
}
|
||||
|
||||
private async Task<IActionResult> SignInAsync(string userName, bool persistent, string authenticationScheme = CookieAuthenticationDefaults.AuthenticationScheme)
|
||||
|
@ -163,10 +163,10 @@ namespace Bootstrap.Admin.Controllers
|
|||
/// <param name="appId"></param>
|
||||
/// <returns>The logout.</returns>
|
||||
[HttpGet]
|
||||
public async Task<IActionResult> Logout([FromQuery]string appId = "0")
|
||||
public async Task<IActionResult> Logout([FromQuery]string appId)
|
||||
{
|
||||
await HttpContext.SignOutAsync();
|
||||
return Redirect(QueryHelpers.AddQueryString(Request.PathBase + CookieAuthenticationDefaults.LoginPath, "AppId", appId));
|
||||
return Redirect(QueryHelpers.AddQueryString(Request.PathBase + CookieAuthenticationDefaults.LoginPath, "AppId", appId ?? BootstrapAppContext.AppId));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
using Bootstrap.DataAccess;
|
||||
using Bootstrap.Security;
|
||||
using Bootstrap.Security.Mvc;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Principal;
|
||||
|
||||
namespace Bootstrap.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// 接口控制器
|
||||
/// </summary>
|
||||
[Route("api/[controller]/[action]")]
|
||||
[AllowAnonymous]
|
||||
|
@ -16,7 +18,7 @@ namespace Bootstrap.Admin.Controllers
|
|||
public class InterfaceController : ControllerBase
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// 获取所有字典表数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
|
@ -24,17 +26,19 @@ namespace Bootstrap.Admin.Controllers
|
|||
{
|
||||
return DictHelper.RetrieveDicts();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// 通过请求地址获取相对应角色集合
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public IEnumerable<string> RetrieveRolesByUrl([FromBody]string url)
|
||||
{
|
||||
return RoleHelper.RetrievesByUrl(url);
|
||||
return RoleHelper.RetrievesByUrl(url, BootstrapAppContext.AppId);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// 通过用户名获得分配所有角色
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
|
@ -42,8 +46,9 @@ namespace Bootstrap.Admin.Controllers
|
|||
{
|
||||
return RoleHelper.RetrievesByUserName(userName);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// 通过用户名获得 User 实例
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
|
@ -51,9 +56,11 @@ namespace Bootstrap.Admin.Controllers
|
|||
{
|
||||
return UserHelper.RetrieveUserByUserName(new GenericIdentity(userName));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// 通过指定条件获得应用程序菜单
|
||||
/// </summary>
|
||||
/// <param name="args"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public IEnumerable<BootstrapMenu> RetrieveAppMenus([FromBody]AppMenuOption args)
|
||||
|
|
|
@ -6,7 +6,6 @@ using Microsoft.AspNetCore.Authorization;
|
|||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.Filters;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Policy;
|
||||
|
||||
namespace Bootstrap.Admin.Controllers.Api
|
||||
{
|
||||
|
|
|
@ -7,25 +7,26 @@ using Microsoft.AspNetCore.Mvc;
|
|||
namespace Bootstrap.Admin.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// Home Controller
|
||||
/// </summary>
|
||||
[Authorize]
|
||||
public class HomeController : Controller
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// Index View
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public IActionResult Index()
|
||||
{
|
||||
var model = new HeaderBarModel(User.Identity);
|
||||
if (string.IsNullOrEmpty(model.UserName)) return Redirect(Request.PathBase + CookieAuthenticationDefaults.LogoutPath);
|
||||
var url = DictHelper.RetrieveHomeUrl(model.AppId);
|
||||
return url.Equals("~/Home/Index", System.StringComparison.OrdinalIgnoreCase) ? (IActionResult)View(model) : Redirect(url);
|
||||
|
||||
var homeUrl = DictHelper.RetrieveHomeUrl(model.AppId);
|
||||
return homeUrl.Equals("~/Home/Index", System.StringComparison.OrdinalIgnoreCase) ? (IActionResult)View(model) : Redirect(homeUrl);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// Error View
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using Bootstrap.DataAccess;
|
||||
using Bootstrap.Security.Mvc;
|
||||
|
||||
namespace Bootstrap.Admin.Models
|
||||
{
|
||||
|
@ -11,8 +12,10 @@ namespace Bootstrap.Admin.Models
|
|||
/// 默认构造函数
|
||||
/// </summary>
|
||||
/// <param name="appId"></param>
|
||||
public AdminModel(string appId = "0")
|
||||
public AdminModel(string appId = null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(appId)) appId = BootstrapAppContext.AppId;
|
||||
|
||||
Title = DictHelper.RetrieveWebTitle(appId);
|
||||
Footer = DictHelper.RetrieveWebFooter(appId);
|
||||
Theme = DictHelper.RetrieveActiveTheme();
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
using Bootstrap.DataAccess;
|
||||
using Bootstrap.Security.Mvc;
|
||||
using System;
|
||||
using System.Security.Principal;
|
||||
|
||||
namespace Bootstrap.Admin.Models
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// Header Model
|
||||
/// </summary>
|
||||
public class HeaderBarModel : AdminModel
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// 默认构造函数
|
||||
/// </summary>
|
||||
/// <param name="identity"></param>
|
||||
public HeaderBarModel(IIdentity identity)
|
||||
|
@ -25,6 +26,9 @@ namespace Bootstrap.Admin.Models
|
|||
Css = user.Css;
|
||||
ActiveCss = string.IsNullOrEmpty(Css) ? Theme : Css;
|
||||
|
||||
// 当前用户未设置应用程序时 使用当前配置 appId
|
||||
if (AppId.IsNullOrEmpty()) AppId = BootstrapAppContext.AppId;
|
||||
|
||||
// 通过 AppCode 获取用户默认应用的标题
|
||||
Title = DictHelper.RetrieveWebTitle(AppId);
|
||||
Footer = DictHelper.RetrieveWebFooter(AppId);
|
||||
|
@ -32,26 +36,28 @@ namespace Bootstrap.Admin.Models
|
|||
// feat: https://gitee.com/LongbowEnterprise/dashboard/issues?id=I12VKZ
|
||||
// 后台系统网站图标跟随个人中心设置的默认应用站点的展示
|
||||
WebSiteIcon = DictHelper.RetrieveWebIcon(AppId);
|
||||
WebSiteLogo = DictHelper.RetrieveWebLogo(AppId);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// 获得 当前用户登录名
|
||||
/// </summary>
|
||||
public string UserName { get; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// 获得 当前用户显示名称
|
||||
/// </summary>
|
||||
public string DisplayName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 用户头像地址
|
||||
/// 获得 用户头像地址
|
||||
/// </summary>
|
||||
public string Icon { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取/设置 个人网站样式
|
||||
/// 获取 个人网站样式
|
||||
/// </summary>
|
||||
public string Css { get; }
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace Bootstrap.Admin.Models
|
|||
/// 默认构造函数
|
||||
/// </summary>
|
||||
/// <param name="appId"></param>
|
||||
public LoginModel(string appId = "0") : base(appId)
|
||||
public LoginModel(string appId = null) : base(appId)
|
||||
{
|
||||
ImageLibUrl = DictHelper.RetrieveImagesLibUrl();
|
||||
}
|
||||
|
|
|
@ -9,5 +9,10 @@
|
|||
/// 获取 网站 logo 小图标
|
||||
/// </summary>
|
||||
public string WebSiteIcon { get; protected set; } = "~/favicon.ico";
|
||||
|
||||
/// <summary>
|
||||
/// 获得 网站图标
|
||||
/// </summary>
|
||||
public string WebSiteLogo { get; protected set; } = "~/favicon.png";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using Bootstrap.DataAccess;
|
||||
using Bootstrap.DataAccess;
|
||||
using Bootstrap.Security;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System;
|
||||
|
@ -20,18 +20,9 @@ namespace Bootstrap.Admin.Models
|
|||
{
|
||||
Navigations = MenuHelper.RetrieveSystemMenus(UserName, $"~{controller.HttpContext.Request.Path}");
|
||||
var authApps = AppHelper.RetrievesByUserName(controller.User.Identity.Name);
|
||||
Applications = DictHelper.RetrieveApps().Where(app => app.Key == "0" || authApps.Any(key => key.Equals(app.Key, StringComparison.OrdinalIgnoreCase)));
|
||||
|
||||
// feat: https://gitee.com/LongbowEnterprise/dashboard/issues?id=I12VKZ
|
||||
// 后台系统网站图标跟随个人中心设置的默认应用站点的展示
|
||||
WebSiteLogo = DictHelper.RetrieveWebLogo(AppId);
|
||||
Applications = DictHelper.RetrieveApps().Where(app => app.Key.IsNullOrEmpty() || authApps.Any(key => key.Equals(app.Key, StringComparison.OrdinalIgnoreCase)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获得 网站图标
|
||||
/// </summary>
|
||||
public string WebSiteLogo { get; protected set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获得 网站菜单
|
||||
/// </summary>
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace Bootstrap.Admin.Query
|
|||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string AppCode { get; set; }
|
||||
public string AppId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
|
@ -59,9 +59,9 @@ namespace Bootstrap.Admin.Query
|
|||
{
|
||||
data = data.Where(t => t.IsResource.ToString() == IsResource);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(AppCode))
|
||||
if (!string.IsNullOrEmpty(AppId))
|
||||
{
|
||||
data = data.Where(t => t.Application.Equals(AppCode, StringComparison.OrdinalIgnoreCase));
|
||||
data = data.Where(t => t.Application.Equals(AppId, StringComparison.OrdinalIgnoreCase));
|
||||
}
|
||||
var ret = new QueryData<object>();
|
||||
ret.total = data.Count();
|
||||
|
|
|
@ -111,7 +111,7 @@ namespace Bootstrap.Admin
|
|||
|
||||
app.UseRouting();
|
||||
app.UseCors(builder => builder.WithOrigins(Configuration["AllowOrigins"].Split(',', StringSplitOptions.RemoveEmptyEntries)).AllowAnyHeader().AllowAnyMethod().AllowCredentials());
|
||||
app.UseBootstrapAdminAuthentication("", RoleHelper.RetrievesByUserName, RoleHelper.RetrievesByUrl, AppHelper.RetrievesByUserName);
|
||||
app.UseBootstrapAdminAuthentication(RoleHelper.RetrievesByUserName, RoleHelper.RetrievesByUrl, AppHelper.RetrievesByUserName);
|
||||
app.UseAuthorization();
|
||||
app.UseSwagger(Configuration["SwaggerPathBase"].TrimEnd('/'));
|
||||
app.UseCacheManager();
|
||||
|
|
|
@ -172,7 +172,7 @@
|
|||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label class="control-label" for="app">所属应用</label>
|
||||
<select data-toggle="lgbSelect" class="d-none" data-default-val="0" id="app">
|
||||
<select data-toggle="lgbSelect" class="d-none" data-default-val="@BootstrapAppContext.AppId" id="app">
|
||||
@foreach (var kv in Model.Applications)
|
||||
{
|
||||
<option value="@kv.Key">@kv.Value</option>
|
||||
|
|
|
@ -112,7 +112,7 @@
|
|||
<a href="~/Admin/Notifications"><i class="fa fa-bell"></i>通知<span id="logoutNoti" class="badge badge-pill badge-success"></span></a>
|
||||
</div>
|
||||
<div class="dropdown-item">
|
||||
<a href="~/Account/Logout?appId=@Model.AppId"><i class="fa fa-key"></i>注销</a>
|
||||
<a href="~/Account/Logout"><i class="fa fa-key"></i>注销</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
@using Bootstrap.Admin.Models
|
||||
@using Bootstrap.Security.Mvc
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
@addTagHelper *, Bootstrap.Security.Mvc
|
||||
@addTagHelper *, Longbow.Web
|
|
@ -53,6 +53,7 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
"AppId": "BA",
|
||||
"SwaggerPathBase": "",
|
||||
"AllowOrigins": "http://localhost,http://ba.sdgxgz.cn",
|
||||
"GiteeHealthChecks": false,
|
||||
|
|
|
@ -76,7 +76,7 @@ $(function () {
|
|||
pageSize: 100,
|
||||
pageList: [100, 200, 400],
|
||||
sortName: 'Order',
|
||||
queryParams: function (params) { return $.extend(params, { parentName: $('#txt_parent_menus_name').val().trim(), name: $("#txt_menus_name").val().trim(), category: $('#sel_menus_category').val(), isresource: $('#sel_menus_res').val(), appCode: $('#sel_app').val() }); }, //传递参数(*)
|
||||
queryParams: function (params) { return $.extend(params, { parentName: $('#txt_parent_menus_name').val().trim(), name: $("#txt_menus_name").val().trim(), category: $('#sel_menus_category').val(), isresource: $('#sel_menus_res').val(), appId: $('#sel_app').val() }); }, //传递参数(*)
|
||||
exportOptions: {
|
||||
fileName: "菜单数据",
|
||||
ignoreColumn: [0, 9]
|
||||
|
|
|
@ -66,7 +66,7 @@ namespace Bootstrap.DataAccess.MongoDB
|
|||
return true;
|
||||
}
|
||||
|
||||
private static string RetrieveAppName(string name, string appId = "0", string defaultValue = "未设置")
|
||||
private static string RetrieveAppName(string name, string appId = "", string defaultValue = "未设置")
|
||||
{
|
||||
var dicts = DictHelper.RetrieveDicts();
|
||||
var platName = dicts.FirstOrDefault(d => d.Category == "应用程序" && d.Code == appId)?.Name;
|
||||
|
@ -78,7 +78,7 @@ namespace Bootstrap.DataAccess.MongoDB
|
|||
/// </summary>
|
||||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
public override string RetrieveWebTitle(string appId = "0")
|
||||
public override string RetrieveWebTitle(string appId)
|
||||
{
|
||||
var code = RetrieveAppName("网站标题", appId);
|
||||
if (code == "网站标题未设置") code = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Name == "网站标题" && d.Category == "网站设置" && d.Define == 0)?.Code ?? "后台管理系统";
|
||||
|
@ -90,9 +90,9 @@ namespace Bootstrap.DataAccess.MongoDB
|
|||
/// </summary>
|
||||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
public override string RetrieveWebFooter(string appId = "0")
|
||||
public override string RetrieveWebFooter(string appId)
|
||||
{
|
||||
var code = RetrieveAppName("网站页脚");
|
||||
var code = RetrieveAppName("网站页脚", appId);
|
||||
if (code == "网站页脚未设置") code = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Name == "网站页脚" && d.Category == "网站设置" && d.Define == 0)?.Code ?? "2016 © 通用后台管理系统";
|
||||
return code;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using MongoDB.Driver;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
|
@ -193,11 +194,12 @@ namespace Bootstrap.DataAccess.MongoDB
|
|||
///
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
public override IEnumerable<string> RetrievesByUrl(string url)
|
||||
public override IEnumerable<string> RetrievesByUrl(string url, string appId)
|
||||
{
|
||||
var menu = DbManager.Menus.Find(md => md.Url.StartsWith(url)).FirstOrDefault();
|
||||
var ret = RoleHelper.Retrieves().Cast<Role>().Where(md => md.Menus != null && md.Menus.Contains(menu.Id)).Select(m => m.RoleName).ToList();
|
||||
var ret = RoleHelper.Retrieves().Cast<Role>().Where(md => md.Menus != null && md.Menus.Any(m => m.Equals(menu.Id, StringComparison.OrdinalIgnoreCase)) && md.Apps.Contains(appId)).Select(m => m.RoleName).ToList();
|
||||
if (!ret.Contains("Administrators")) ret.Add("Administrators");
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Bootstrap.Security.DataAccess" Version="3.0.0" />
|
||||
<PackageReference Include="Bootstrap.Security.DataAccess" Version="3.0.1-beta1" />
|
||||
<PackageReference Include="Longbow" Version="3.0.0" />
|
||||
<PackageReference Include="Longbow.Cache" Version="3.0.0" />
|
||||
<PackageReference Include="Longbow.Configuration" Version="3.0.0" />
|
||||
|
|
|
@ -65,7 +65,7 @@ namespace Bootstrap.DataAccess
|
|||
/// </summary>
|
||||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
public virtual string RetrieveWebTitle(string appId = "0")
|
||||
public virtual string RetrieveWebTitle(string appId)
|
||||
{
|
||||
// 优先查找配置的应用程序网站标题
|
||||
var code = DbHelper.RetrieveTitle(appId);
|
||||
|
@ -78,7 +78,7 @@ namespace Bootstrap.DataAccess
|
|||
/// </summary>
|
||||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
public virtual string RetrieveWebFooter(string appId = "0")
|
||||
public virtual string RetrieveWebFooter(string appId)
|
||||
{
|
||||
// 优先查找配置的应用程序网站标题
|
||||
var code = DbHelper.RetrieveFooter(appId);
|
||||
|
@ -111,16 +111,16 @@ namespace Bootstrap.DataAccess
|
|||
/// <summary>
|
||||
/// 获得默认的前台首页地址,默认为~/Home/Index
|
||||
/// </summary>
|
||||
/// <param name="appCode"></param>
|
||||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
public virtual string RetrieveHomeUrl(string appCode)
|
||||
public virtual string RetrieveHomeUrl(string appId)
|
||||
{
|
||||
// https://gitee.com/LongbowEnterprise/dashboard/issues?id=IS0WK
|
||||
var url = "~/Home/Index";
|
||||
var dicts = DictHelper.RetrieveDicts();
|
||||
if (appCode != "0")
|
||||
if (!appId.IsNullOrEmpty())
|
||||
{
|
||||
var appUrl = dicts.FirstOrDefault(d => d.Name.Equals(appCode, StringComparison.OrdinalIgnoreCase) && d.Category == "应用首页" && d.Define == 0)?.Code;
|
||||
var appUrl = dicts.FirstOrDefault(d => d.Name.Equals(appId, StringComparison.OrdinalIgnoreCase) && d.Category == "应用首页" && d.Define == 0)?.Code;
|
||||
if (!string.IsNullOrEmpty(appUrl)) return appUrl;
|
||||
}
|
||||
var defaultUrl = dicts.FirstOrDefault(d => d.Name == "前台首页" && d.Category == "网站设置" && d.Define == 0)?.Code;
|
||||
|
@ -129,7 +129,7 @@ namespace Bootstrap.DataAccess
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// 获得字典表中配置的所有应用程序
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public virtual IEnumerable<KeyValuePair<string, string>> RetrieveApps() => DictHelper.RetrieveDicts().Where(d => d.Category == "应用程序" && d.Define == 0).Select(d => new KeyValuePair<string, string>(d.Code, d.Name)).OrderBy(d => d.Key);
|
||||
|
|
|
@ -126,14 +126,14 @@ namespace Bootstrap.DataAccess
|
|||
/// </summary>
|
||||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
public static string RetrieveWebTitle(string appId = "0") => DbContextManager.Create<Dict>().RetrieveWebTitle(appId);
|
||||
public static string RetrieveWebTitle(string appId) => DbContextManager.Create<Dict>().RetrieveWebTitle(appId);
|
||||
|
||||
/// <summary>
|
||||
/// 获取站点 Footer 配置信息
|
||||
/// </summary>
|
||||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
public static string RetrieveWebFooter(string appId = "0") => DbContextManager.Create<Dict>().RetrieveWebFooter(appId);
|
||||
public static string RetrieveWebFooter(string appId) => DbContextManager.Create<Dict>().RetrieveWebFooter(appId);
|
||||
|
||||
/// <summary>
|
||||
/// 获得系统中配置的可以使用的网站样式
|
||||
|
@ -156,9 +156,9 @@ namespace Bootstrap.DataAccess
|
|||
/// <summary>
|
||||
/// 获得默认的前台首页地址,默认为 ~/Home/Index
|
||||
/// </summary>
|
||||
/// <param name="appCode">应用程序编码</param>
|
||||
/// <param name="appId">应用程序编码</param>
|
||||
/// <returns></returns>
|
||||
public static string RetrieveHomeUrl(string appCode) => DbContextManager.Create<Dict>().RetrieveHomeUrl(appCode);
|
||||
public static string RetrieveHomeUrl(string appId) => DbContextManager.Create<Dict>().RetrieveHomeUrl(appId);
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有应用程序数据方法
|
||||
|
|
|
@ -148,7 +148,8 @@ namespace Bootstrap.DataAccess
|
|||
/// 通过指定 Url 地址获得授权角色集合
|
||||
/// </summary>
|
||||
/// <param name="url">请求 Url 地址</param>
|
||||
/// <param name="appId">应用程序Id</param>
|
||||
/// <returns>角色名称集合</returns>
|
||||
public static IEnumerable<string> RetrievesByUrl(string url) => CacheManager.GetOrAdd(string.Format("{0}-{1}", DbHelper.RetrieveRolesByUrlDataKey, url), key => DbContextManager.Create<Role>().RetrievesByUrl(url), DbHelper.RetrieveRolesByUrlDataKey);
|
||||
public static IEnumerable<string> RetrievesByUrl(string url, string appId) => CacheManager.GetOrAdd(string.Format("{0}-{1}-{2}", DbHelper.RetrieveRolesByUrlDataKey, url, appId), key => DbContextManager.Create<Role>().RetrievesByUrl(url, appId), DbHelper.RetrieveRolesByUrlDataKey);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -193,7 +193,9 @@ namespace Bootstrap.DataAccess
|
|||
/// 从NavigatorRole表查
|
||||
/// 从Navigators -> GroupNavigatorRole -> Role查查询某个用户所拥有的角色
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
public virtual IEnumerable<string> RetrievesByUrl(string url) => DbHelper.RetrieveRolesByUrl(url);
|
||||
public virtual IEnumerable<string> RetrievesByUrl(string url, string appId) => DbHelper.RetrieveRolesByUrl(url, appId);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ namespace Bootstrap.Client.DataAccess.MongoDB
|
|||
/// <param name="appId"></param>
|
||||
/// <param name="defaultValue"></param>
|
||||
/// <returns></returns>
|
||||
private string RetrieveAppName(string name, string appId = "0", string defaultValue = "未设置")
|
||||
private string RetrieveAppName(string name, string appId = "", string defaultValue = "未设置")
|
||||
{
|
||||
var dicts = DictHelper.RetrieveDicts();
|
||||
var platName = dicts.FirstOrDefault(d => d.Category == "应用程序" && d.Code == appId)?.Name;
|
||||
|
|
|
@ -47,12 +47,13 @@ namespace Bootstrap.Client.DataAccess.MongoDB
|
|||
/// 从NavigatorRole表查
|
||||
/// 从Navigators -> GroupNavigatorRole -> Role查查询某个用户所拥有的角色
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
public override IEnumerable<string> RetrievesByUrl(string url)
|
||||
public override IEnumerable<string> RetrievesByUrl(string url, string appId)
|
||||
{
|
||||
var menu = DbManager.Menus.Find(md => md.Url.StartsWith(url)).FirstOrDefault();
|
||||
var appId = ConfigurationManager.GetValue("AppId", "2");
|
||||
var ret = RoleHelper.Retrieves().Where(md => md.Menus.Any(m => m == menu.Id) && md.Apps.Any(m => m == appId)).Select(m => m.RoleName).ToList();
|
||||
var ret = RoleHelper.Retrieves().Where(md => md.Menus.Any(m => m == menu.Id) && md.Apps.Any(m => m.Equals(appId, StringComparison.OrdinalIgnoreCase))).Select(m => m.RoleName).ToList();
|
||||
if (!ret.Any(r => r.Equals("Administrators", StringComparison.OrdinalIgnoreCase))) ret.Add("Administrators");
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Bootstrap.Security.DataAccess" Version="3.0.0" />
|
||||
<PackageReference Include="Bootstrap.Security.DataAccess" Version="3.0.1-beta1" />
|
||||
<PackageReference Include="Longbow" Version="3.0.0" />
|
||||
<PackageReference Include="Longbow.Cache" Version="3.0.0" />
|
||||
<PackageReference Include="Longbow.Configuration" Version="3.0.0" />
|
||||
|
|
|
@ -21,7 +21,8 @@ namespace Bootstrap.Client.DataAccess
|
|||
///
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
public static IEnumerable<string> RetrievesByUrl(string url) => CacheManager.GetOrAdd(string.Format("{0}-{1}", DbHelper.RetrieveRolesByUrlDataKey, url), key => DbContextManager.Create<Role>().RetrievesByUrl(url), DbHelper.RetrieveRolesByUrlDataKey);
|
||||
public static IEnumerable<string> RetrievesByUrl(string url, string appId) => CacheManager.GetOrAdd(string.Format("{0}-{1}-{2}", DbHelper.RetrieveRolesByUrlDataKey, url, appId), key => DbContextManager.Create<Role>().RetrievesByUrl(url, appId), DbHelper.RetrieveRolesByUrlDataKey);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,9 @@ namespace Bootstrap.Client.DataAccess
|
|||
/// 从NavigatorRole表查
|
||||
/// 从Navigators -> GroupNavigatorRole -> Role查查询某个用户所拥有的角色
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="appId"></param>
|
||||
/// <returns></returns>
|
||||
public virtual IEnumerable<string> RetrievesByUrl(string url) => DbHelper.RetrieveRolesByUrl(url, ConfigurationManager.GetValue("AppId", "2"));
|
||||
public virtual IEnumerable<string> RetrievesByUrl(string url, string appId) => DbHelper.RetrieveRolesByUrl(url, ConfigurationManager.GetValue("AppId", appId));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Bootstrap.Security.Mvc" Version="3.0.2-beta3" />
|
||||
<PackageReference Include="Bootstrap.Security.Mvc" Version="3.0.2-beta4" />
|
||||
<PackageReference Include="Longbow.Logging" Version="3.0.2-beta1" />
|
||||
<PackageReference Include="Microsoft.Data.Sqlite" Version="3.0.0" />
|
||||
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="5.6.0" />
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
using Bootstrap.Client.DataAccess;
|
||||
using Longbow.Configuration;
|
||||
using Bootstrap.Security.Mvc;
|
||||
|
||||
namespace Bootstrap.Client.Models
|
||||
{
|
||||
|
@ -13,7 +13,7 @@ namespace Bootstrap.Client.Models
|
|||
/// </summary>
|
||||
public ModelBase()
|
||||
{
|
||||
AppId = ConfigurationManager.GetValue("AppId", "2");
|
||||
AppId = BootstrapAppContext.AppId;
|
||||
Title = DictHelper.RetrieveWebTitle(AppId);
|
||||
Footer = DictHelper.RetrieveWebFooter(AppId);
|
||||
Theme = DictHelper.RetrieveActiveTheme();
|
||||
|
|
|
@ -90,7 +90,7 @@ namespace Bootstrap.Client
|
|||
|
||||
app.UseRouting();
|
||||
app.UseCors(builder => builder.WithOrigins(Configuration["AllowOrigins"].Split(',', StringSplitOptions.RemoveEmptyEntries)).AllowAnyHeader().AllowAnyMethod().AllowCredentials());
|
||||
app.UseBootstrapAdminAuthentication("2", RoleHelper.RetrievesByUserName, RoleHelper.RetrievesByUrl, AppHelper.RetrievesByUserName);
|
||||
app.UseBootstrapAdminAuthentication(RoleHelper.RetrievesByUserName, RoleHelper.RetrievesByUrl, AppHelper.RetrievesByUserName);
|
||||
app.UseAuthorization();
|
||||
app.UseCacheManager();
|
||||
app.UseOnlineUsers(callback: TraceHelper.Save);
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
"AppId": 2,
|
||||
"AppId": "Demo",
|
||||
"BootstrapAdminAuthenticationOptions": {
|
||||
"AuthHost": "http://argo.zylweb.cn/BA"
|
||||
},
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace Bootstrap.Admin.Api.SqlServer
|
|||
[Fact]
|
||||
public async void RetrieveAppMenus_Ok()
|
||||
{
|
||||
var ret = await Client.PostAsJsonAsync<AppMenuOption, IEnumerable<BootstrapMenu>>("RetrieveAppMenus", new AppMenuOption() { AppId = "0", UserName = "Admin", Url = "~/Admin/Index" });
|
||||
var ret = await Client.PostAsJsonAsync<AppMenuOption, IEnumerable<BootstrapMenu>>("RetrieveAppMenus", new AppMenuOption() { AppId = "", UserName = "Admin", Url = "~/Admin/Index" });
|
||||
Assert.NotEmpty(ret);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
using Bootstrap.DataAccess;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Bootstrap.Admin
|
||||
|
|
|
@ -4,7 +4,6 @@ using System;
|
|||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using System.Text.Json;
|
||||
using System.Threading;
|
||||
using Xunit;
|
||||
|
||||
namespace Bootstrap.DataAccess.SqlServer
|
||||
|
@ -58,13 +57,13 @@ namespace Bootstrap.DataAccess.SqlServer
|
|||
[Fact]
|
||||
public void RetrieveWebTitle_Ok()
|
||||
{
|
||||
Assert.Equal("后台管理系统", DictHelper.RetrieveWebTitle());
|
||||
Assert.Equal("后台管理系统", DictHelper.RetrieveWebTitle("BA"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void RetrieveWebFooter_Ok()
|
||||
{
|
||||
Assert.Equal("2016 © 通用后台管理系统", DictHelper.RetrieveWebFooter());
|
||||
Assert.Equal("2016 © 通用后台管理系统", DictHelper.RetrieveWebFooter("BA"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
@ -88,7 +87,7 @@ namespace Bootstrap.DataAccess.SqlServer
|
|||
[Fact]
|
||||
public void RetrieveHomeUrl_Ok()
|
||||
{
|
||||
Assert.Equal("~/Home/Index", DictHelper.RetrieveHomeUrl("0"));
|
||||
Assert.Equal("~/Home/Index", DictHelper.RetrieveHomeUrl(string.Empty));
|
||||
var url = DictHelper.RetrieveHomeUrl("2");
|
||||
Assert.NotEqual("~/Home/Index", url);
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ namespace Bootstrap.DataAccess.SqlServer
|
|||
[Fact]
|
||||
public void RetrieveRolesByUrl_Ok()
|
||||
{
|
||||
Assert.NotEmpty(RoleHelper.RetrievesByUrl("~/Home/Index"));
|
||||
Assert.NotEmpty(RoleHelper.RetrievesByUrl("~/Home/Index", "BA"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
Loading…
Reference in New Issue