You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

base.go 1.1 kB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package controllers
  2. import (
  3. "encoding/gob"
  4. "github.com/beego/beego"
  5. "github.com/casdoor/casdoor-go-sdk/auth"
  6. )
  7. type ApiController struct {
  8. beego.Controller
  9. }
  10. func init() {
  11. gob.Register(auth.Claims{})
  12. }
  13. func GetUserName(user *auth.User) string {
  14. if user == nil {
  15. return ""
  16. }
  17. return user.Name
  18. }
  19. func (c *ApiController) GetSessionClaims() *auth.Claims {
  20. s := c.GetSession("user")
  21. if s == nil {
  22. return nil
  23. }
  24. claims := s.(auth.Claims)
  25. return &claims
  26. }
  27. func (c *ApiController) SetSessionClaims(claims *auth.Claims) {
  28. if claims == nil {
  29. c.DelSession("user")
  30. return
  31. }
  32. c.SetSession("user", *claims)
  33. }
  34. func (c *ApiController) GetSessionUser() *auth.User {
  35. claims := c.GetSessionClaims()
  36. if claims == nil {
  37. return nil
  38. }
  39. return &claims.User
  40. }
  41. func (c *ApiController) SetSessionUser(user *auth.User) {
  42. if user == nil {
  43. c.DelSession("user")
  44. return
  45. }
  46. claims := c.GetSessionClaims()
  47. if claims != nil {
  48. claims.User = *user
  49. c.SetSessionClaims(claims)
  50. }
  51. }
  52. func (c *ApiController) GetSessionUsername() string {
  53. user := c.GetSessionUser()
  54. if user == nil {
  55. return ""
  56. }
  57. return GetUserName(user)
  58. }

Caswire是一款基于人工智能技术的开源反病毒和入侵检测系统。该系统通过深度学习和模式识别技术,能够实时识别和防御各种网络威胁,包括病毒、恶意软件以及其他安全威胁。Caswire支持动态学习和适应网络环境的变化,确保持续的安全防护。我们期望在Caswire上:1)增强其机器学习模型,以提高恶意行为的检测准确率;2)优化系统的实时响应能力,提升在高威胁环境下的表现。