resource.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package acl
  2. var Modules = make(map[string]*Module)
  3. //模块
  4. type Module struct {
  5. Name string
  6. Description string
  7. Code string
  8. Resources map[string]*Resource
  9. }
  10. //资源
  11. type Resource struct {
  12. Name string `json:"name"`
  13. Code string `json:"code"`
  14. ControllerName string `json:"controller_name"`
  15. ActionName string `json:"action_name"`
  16. MethodName string `json:"method_name"`
  17. }
  18. func NewModule() *Module {
  19. return &Module{ Resources : make(map[string]*Resource)}
  20. }
  21. func init() {
  22. Modules["Common"] = &Module{
  23. Name : "公共功能",
  24. Code : "Common",
  25. Description:"所有用户都有的功能",
  26. Resources : map[string]*Resource {
  27. "Common!Account!Login!*" : { Name: "用户登录" , Code:"Account!Login!*", ControllerName:"Account",ActionName:"Login",MethodName:"*"},
  28. "Common!Account!Register!*" : { Name: "用户注册" , Code:"Account!Register!*", ControllerName:"Account",ActionName:"Register",MethodName:"*"},
  29. "Common!Account!FindPassword!*" : { Name: "找回密码" , Code:"Account!FindPassword!*", ControllerName:"Account",ActionName:"FindPassword",MethodName:"*"},
  30. "Common!Account!ValidEmail!*" : { Name: "邮箱修改密码" , Code:"Account!ValidEmail!*", ControllerName:"Account",ActionName:"ValidEmail",MethodName:"*"},
  31. "Common!Account!Logout!*" : { Name: "退出登录" , Code:"Account!Logout!*", ControllerName:"Account",ActionName:"Logout",MethodName:"*"},
  32. "Common!Account!Captcha!*" : { Name: "图片验证码" , Code:"Account!Captcha!*", ControllerName:"Account",ActionName:"Captcha",MethodName:"*"},
  33. "Common!Home!Index!*" : { Name:"站点首页",Code:"Home!Index!*",ControllerName:"Home",ActionName:"Index",MethodName:"*"},
  34. "Common!Search!Index!*" : { Name:"项目搜索",Code:"Search!Index!*",ControllerName:"Search",ActionName:"Index",MethodName:"*"},
  35. "Common!Error!Error404!*" : { Name:"404页面", Code:"Error!Index!*", ControllerName:"Error", ActionName:"Error404",MethodName:"*" },
  36. "Common!Error!Error403!*" : { Name:"403页面", Code:"Error!Index!*", ControllerName:"Error", ActionName:"Error403",MethodName:"*" },
  37. "Common!Error!Error500!*" : { Name:"500页面", Code:"Error!Error500!*", ControllerName:"Error", ActionName:"Error500",MethodName:"*" },
  38. },
  39. }
  40. Modules["MemberCommon"] = &Module{
  41. Name : "用户公共功能",
  42. Code : "MemberCommon",
  43. Description:"只有登录用户才有的功能",
  44. Resources : map[string]*Resource {
  45. "MemberCommon!Book!Index!*" : { Name: "项目列表" , Code:"Book!Index!*", ControllerName:"Book",ActionName:"Index",MethodName:"*"},
  46. "MemberCommon!Book!Dashboard!*" : { Name: "项目概述" , Code:"Book!Index!*", ControllerName:"Book",ActionName:"Dashboard",MethodName:"*"},
  47. },
  48. }
  49. Modules["Book"] = &Module{
  50. Name:"项目管理",
  51. Code:"Book",
  52. Resources: map[string]*Resource {
  53. "Book!Book!Setting!*" : { Name: "项目设置查看" , Code:"Book!Setting!*", ControllerName:"Book",ActionName:"Setting",MethodName:"*"},
  54. "Book!Book!SaveBook!*" : { Name: "项目设置保存" , Code:"Book!SaveBook!*", ControllerName:"Book",ActionName:"SaveBook",MethodName:"*"},
  55. },
  56. }
  57. Modules["Document"] = &Module{
  58. Name:"文档管理",
  59. Code:"Book",
  60. Resources: map[string]*Resource {
  61. },
  62. }
  63. Modules["Label"] = &Module{
  64. Name:"标签管理",
  65. Code:"Book",
  66. Resources: map[string]*Resource {
  67. },
  68. }
  69. Modules["Manager"] = &Module{
  70. Name:"后台管理",
  71. Code:"Book",
  72. Resources: map[string]*Resource {
  73. },
  74. }
  75. for _,resource := range Modules["Common"].Resources {
  76. AddMemberPermission("anonymous",*resource)
  77. }
  78. }