lwqzx_auth 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 646b1dc96995562fdd2a86af6d410b02b2c48fc8f1b5920eaa58b92341f7d8da
4
- data.tar.gz: 7099e401098ffe0a58993aa7be74a4bee1c37455f06ee674f3a9bfa2471f495b
3
+ metadata.gz: b8c9ac0050837dc3ba05208b6cf877256463594c799cf4b137670145dedc574f
4
+ data.tar.gz: ec8eddbbdddf5b3e47c56ae84dfa96631775be444fafbdb0188b0ce764e61d80
5
5
  SHA512:
6
- metadata.gz: 055e9659a80d5a60fd7e326bca73561c3415c335fb02519897eadbfec7e5c0724a8dd5bffa5b02508239b724f0f3a85a798c8c6a796512de9c29098f73bc91d2
7
- data.tar.gz: 3b3eeb44c5a7b2d9032bb5d92aa97710c9ab9c4be4915e032d07ebfe468fdbe517634e8585761e8af2c80028d147001d53dc1707173f5670a884acd01412cc06
6
+ metadata.gz: 3518aff0e40db0abf15db0eb3118eb732ad0649c984adcb8bdbc3157c4070db343a1ac76869612e7a1d21ca336e379ad03e6d63c819fa1656768b38f4673a087
7
+ data.tar.gz: '08cbd3dc914637acf9d81e091f1154596ab2323fe4a4a346c8d07c88f6cb225341cc5714936fc36db17e815224ba1d2107370694c20420910c86b4aa50d91090'
@@ -1,6 +1,22 @@
1
1
  module LwqzxAuth
2
2
  class ApplicationController < ::ApplicationController
3
3
  protect_from_forgery with: :exception
4
-
4
+ before_action :check_me
5
+ def check_me
6
+ auth_token = cookies.signed[:auth_token]
7
+ unless auth_token.blank?
8
+ one = Remember.where(token: auth_token).first
9
+ if one
10
+ if one.expired > Time.now.to_i
11
+ session[:login] = one.login
12
+ session[:realname] = one.name
13
+ session[:groups] = one.groups
14
+ else
15
+ cookies.delete(:auth_token)
16
+ one.delete
17
+ end
18
+ end
19
+ end
20
+ end
5
21
  end
6
22
  end
@@ -8,6 +8,13 @@ module LwqzxAuth
8
8
 
9
9
  def logout
10
10
  flash[:notice]="你已经登出"
11
+
12
+ auth_token = cookies[:auth_token]
13
+ unless auth_token.blank?
14
+ one = Remember.where(token: auth_token).first
15
+ cookies.delete(:auth_token)
16
+ one.delete if one
17
+ end
11
18
  reset_session
12
19
  redirect_to main_app.root_path
13
20
  end
@@ -20,6 +27,7 @@ module LwqzxAuth
20
27
 
21
28
  login = params[:login]
22
29
  psd = params[:password]
30
+
23
31
  hsh = lauth(login,psd)
24
32
  if hsh["name"].blank?
25
33
  redirect_to login_path , alert: "用户信息有误"
@@ -27,6 +35,18 @@ module LwqzxAuth
27
35
  login = hsh["login"]
28
36
  name = hsh["name"]
29
37
  groups = hsh["user_group"]
38
+
39
+ #rememberme = params[:rememberme]
40
+ #if rememberme == "yes"
41
+ # token = SecureRandom.urlsafe_base64
42
+ # cookies.signed[:auth_token] = token
43
+ # Remember.create(token: token, login: login, name: name, groups: groups,expired: 7.days.from_now.to_i)
44
+ #else
45
+ # auth_token = cookies[:auth_token]
46
+ # cookies.delete(:auth_token)
47
+ # Remember.where(token: auth_token).delete
48
+ #end
49
+
30
50
  session[:login] = login
31
51
  session[:realname] = name
32
52
  session[:groups] = groups
@@ -35,6 +55,7 @@ module LwqzxAuth
35
55
  end
36
56
 
37
57
  private
58
+
38
59
  def lauth(login,passwd)
39
60
  lurl = "http://www.lwqzx.sdedu.net/kernel/net_school/core/jslogin.php"
40
61
  res = ::RestClient.post lurl,{login: login, password: passwd}
@@ -0,0 +1,10 @@
1
+ module LwqzxAuth
2
+ class Remember
3
+ include Mongoid::Document
4
+ field :token, type: String
5
+ field :login, type: String
6
+ field :name, type: String
7
+ field :groups, type: String
8
+ field :expired, type: Integer
9
+ end
10
+ end
@@ -1,22 +1,20 @@
1
1
  h2.text-center =<> icon("fas","user") + ' 登 录'
2
2
  br
3
3
  .row
4
- .col-sm-4
5
- .col-sm-4
4
+ .col-12.col-md-4.offset-md-4.align-self-center
6
5
  = form_tag auth_path, role: "form", class: "loginForm card form-horizontal" do
7
6
  .card-body
8
- strong 登录名
7
+ p: strong 登录名
8
+ div = text_field_tag :login,nil,class: "form-control login"
9
9
  br
10
- = text_field_tag :login,nil,class: "form-control login"
11
- br
12
- strong 密码:
13
- br
14
- = password_field_tag :password,nil, class: "form-control password"
10
+ p: strong 密码
11
+ div = password_field_tag :password,nil, class: "form-control password"
15
12
  p.text-center
16
13
  a.rucaptcha-image-box href="#" = rucaptcha_image_tag
17
14
  p.text-center = rucaptcha_input_tag(class: 'form-control code',placeholder: "输入验证码")
18
-
19
- .card-footer
20
- = submit_tag '登录', class: "btn-block btn-primary btn"
21
-
22
- .col-sm-4
15
+ /p.text-center
16
+ =<> check_box_tag :rememberme, "yes", false
17
+ | 记住7天
18
+ div.mt-3
19
+ = submit_tag '登录', class: "btn-block btn-primary btn btn-lg"
20
+ /.card-footer
@@ -1,3 +1,3 @@
1
1
  module LwqzxAuth
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lwqzx_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - zxy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-09 00:00:00.000000000 Z
11
+ date: 2020-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -40,6 +40,7 @@ files:
40
40
  - app/controllers/lwqzx_auth/application_controller.rb
41
41
  - app/controllers/lwqzx_auth/auth_controller.rb
42
42
  - app/helpers/lwqzx_auth/application_helper.rb
43
+ - app/models/lwqzx_auth/remember.rb
43
44
  - app/views/lwqzx_auth/auth/login.html.slim
44
45
  - config/initializers/rucaptcha.rb
45
46
  - config/routes.rb
@@ -66,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
67
  - !ruby/object:Gem::Version
67
68
  version: '0'
68
69
  requirements: []
69
- rubygems_version: 3.0.3
70
+ rubygems_version: 3.1.4
70
71
  signing_key:
71
72
  specification_version: 4
72
73
  summary: add auth function to host application.