fix bugs with token

This commit is contained in:
Matthew Kaito Juyuan Fu authored and Christophe Vilayphiou committed 2012-02-29 18:56:42 +08:00
1 parent cc550c5745
commit 2e58c63ff7
8 files changed
+31 -12

No files matched your search

+20 -2
View File
@@ -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