fix bugs with token
This commit is contained in:
1 parent
cc550c5745
commit
2e58c63ff7
8 files changed
+31
-12
No files matched your search
+20
-2
@@ -31,12 +31,28 @@ module OrbitCoreLib
|
||||
end
|
||||
|
||||
end
|
||||
module ObjectTokenUnility
|
||||
def self.included(base)
|
||||
base.instance_eval("field :s_token")
|
||||
base.instance_eval("after_create :generate_token")
|
||||
end
|
||||
|
||||
def token
|
||||
return self.s_token
|
||||
end
|
||||
|
||||
protected
|
||||
def generate_token
|
||||
self.s_token = ActiveSupport::SecureRandom.hex(16)
|
||||
self.save!
|
||||
end
|
||||
end
|
||||
|
||||
module PermissionUnility
|
||||
private
|
||||
def check_permission(type = :use)
|
||||
permission_grant = current_user.admin?? true : false
|
||||
module_app = @module_app.nil?? ModuleApp.find(params[:module_app_id]) : @module_app
|
||||
module_app = @module_app.nil?? find_module_app_by_token(params[:token]) : @module_app
|
||||
unless permission_grant
|
||||
permission_grant = case type
|
||||
when :use
|
||||
@@ -51,6 +67,8 @@ module OrbitCoreLib
|
||||
end
|
||||
permission_grant
|
||||
end
|
||||
|
||||
def find_module_app_by_token(token)
|
||||
ModuleApp.first(conditions: {s_token: token})
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in new issue
Block a user