lwqzx_auth 0.1.6 → 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 +4 -4
- data/app/controllers/lwqzx_auth/application_controller.rb +17 -1
- data/app/controllers/lwqzx_auth/auth_controller.rb +29 -13
- data/app/models/lwqzx_auth/remember.rb +10 -0
- data/app/views/lwqzx_auth/auth/login.html.slim +11 -30
- data/lib/lwqzx_auth/version.rb +1 -1
- metadata +19 -8
- data/app/jobs/lwqzx_auth/application_job.rb +0 -4
- data/app/mailers/lwqzx_auth/application_mailer.rb +0 -0
- data/app/models/lwqzx_auth/application_record.rb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8c9ac0050837dc3ba05208b6cf877256463594c799cf4b137670145dedc574f
|
4
|
+
data.tar.gz: ec8eddbbdddf5b3e47c56ae84dfa96631775be444fafbdb0188b0ce764e61d80
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require_dependency "lwqzx_auth/application_controller"
|
2
|
+
require "rest-client"
|
2
3
|
|
3
4
|
module LwqzxAuth
|
4
5
|
class AuthController < ApplicationController
|
@@ -7,6 +8,13 @@ module LwqzxAuth
|
|
7
8
|
|
8
9
|
def logout
|
9
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
|
10
18
|
reset_session
|
11
19
|
redirect_to main_app.root_path
|
12
20
|
end
|
@@ -19,12 +27,26 @@ module LwqzxAuth
|
|
19
27
|
|
20
28
|
login = params[:login]
|
21
29
|
psd = params[:password]
|
30
|
+
|
22
31
|
hsh = lauth(login,psd)
|
23
|
-
if hsh.blank?
|
32
|
+
if hsh["name"].blank?
|
24
33
|
redirect_to login_path , alert: "用户信息有误"
|
25
34
|
else
|
26
|
-
|
27
|
-
|
35
|
+
login = hsh["login"]
|
36
|
+
name = hsh["name"]
|
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
|
+
|
28
50
|
session[:login] = login
|
29
51
|
session[:realname] = name
|
30
52
|
session[:groups] = groups
|
@@ -33,17 +55,11 @@ module LwqzxAuth
|
|
33
55
|
end
|
34
56
|
|
35
57
|
private
|
58
|
+
|
36
59
|
def lauth(login,passwd)
|
37
|
-
lurl = "http://www.lwqzx.sdedu.net/kernel/net_school/
|
38
|
-
|
39
|
-
|
40
|
-
content=res2.body.encode("UTF-8","GB2312")
|
41
|
-
doc = Nokogiri::HTML(content)
|
42
|
-
return {} if doc.include?("login_submit")
|
43
|
-
uname = doc.css("span.tt1 a:nth-child(1)").text
|
44
|
-
groups = doc.css("span.tt1 a:nth-child(5)")[0]["title"]
|
45
|
-
groups=groups.gsub("[","").gsub("]","").split("@").compact.reject(&:empty?)
|
46
|
-
return {login: login, name: uname, groups: groups}
|
60
|
+
lurl = "http://www.lwqzx.sdedu.net/kernel/net_school/core/jslogin.php"
|
61
|
+
res = ::RestClient.post lurl,{login: login, password: passwd}
|
62
|
+
return JSON.parse(res.body)
|
47
63
|
end
|
48
64
|
|
49
65
|
end
|
@@ -1,39 +1,20 @@
|
|
1
1
|
h2.text-center =<> icon("fas","user") + ' 登 录'
|
2
2
|
br
|
3
3
|
.row
|
4
|
-
.col-
|
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
|
-
|
11
|
-
|
12
|
-
strong 密码:
|
13
|
-
br
|
14
|
-
= password_field_tag :password,nil, class: "form-control"
|
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
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
javascript:
|
25
|
-
javascript:
|
26
|
-
$(".loginForm").submit(function(event){
|
27
|
-
if($("input.code").val()==""){alert("请填写验证码");return false;};
|
28
|
-
if($("input.login").val()==""){alert("登录名不能为空");return false;};
|
29
|
-
if($("input.password").val()==""){alert("密码不能为空");return false;};
|
30
|
-
});
|
31
|
-
|
32
|
-
$("a.rucaptcha-image-box").click(function(e){
|
33
|
-
e.preventDefault();
|
34
|
-
btn = $(e.currentTarget);
|
35
|
-
img = btn.find('img:first');
|
36
|
-
currentSrc = img.attr('src');
|
37
|
-
img.attr('src', currentSrc.split('?')[0] + '?' + (new Date()).getTime());
|
38
|
-
return false;
|
39
|
-
});
|
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
|
data/lib/lwqzx_auth/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lwqzx_auth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 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:
|
12
|
-
dependencies:
|
11
|
+
date: 2020-12-04 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rest-client
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.1'
|
13
27
|
description: auth function into host app.
|
14
28
|
email:
|
15
29
|
- zxy@qq.com
|
@@ -26,9 +40,7 @@ files:
|
|
26
40
|
- app/controllers/lwqzx_auth/application_controller.rb
|
27
41
|
- app/controllers/lwqzx_auth/auth_controller.rb
|
28
42
|
- app/helpers/lwqzx_auth/application_helper.rb
|
29
|
-
- app/
|
30
|
-
- app/mailers/lwqzx_auth/application_mailer.rb
|
31
|
-
- app/models/lwqzx_auth/application_record.rb
|
43
|
+
- app/models/lwqzx_auth/remember.rb
|
32
44
|
- app/views/lwqzx_auth/auth/login.html.slim
|
33
45
|
- config/initializers/rucaptcha.rb
|
34
46
|
- config/routes.rb
|
@@ -55,8 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
55
67
|
- !ruby/object:Gem::Version
|
56
68
|
version: '0'
|
57
69
|
requirements: []
|
58
|
-
|
59
|
-
rubygems_version: 2.7.7
|
70
|
+
rubygems_version: 3.1.4
|
60
71
|
signing_key:
|
61
72
|
specification_version: 4
|
62
73
|
summary: add auth function to host application.
|
File without changes
|
File without changes
|