Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
jenkins
提交
12647e5a
J
jenkins
项目概览
xxadev
/
jenkins
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jenkins
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
12647e5a
编写于
4月 18, 2017
作者:
J
Jesse Glick
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'security-stable-2.46' into security-master
上级
121a6e01
84c87928
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
19 addition
and
7 deletion
+19
-7
core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java
...main/java/hudson/security/HudsonPrivateSecurityRealm.java
+1
-1
core/src/main/java/jenkins/install/SetupWizard.java
core/src/main/java/jenkins/install/SetupWizard.java
+9
-2
war/src/main/js/api/pluginManager.js
war/src/main/js/api/pluginManager.js
+2
-2
war/src/main/js/api/securityConfig.js
war/src/main/js/api/securityConfig.js
+7
-2
未找到文件。
core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java
浏览文件 @
12647e5a
...
...
@@ -279,7 +279,7 @@ public class HudsonPrivateSecurityRealm extends AbstractPasswordBasedSecurityRea
public
User
createAccountByAdmin
(
StaplerRequest
req
,
StaplerResponse
rsp
,
String
addUserView
,
String
successView
)
throws
IOException
,
ServletException
{
checkPermission
(
Jenkins
.
ADMINISTER
);
User
u
=
createAccount
(
req
,
rsp
,
false
,
addUserView
);
if
(
u
!=
null
)
{
if
(
u
!=
null
&&
successView
!=
null
)
{
rsp
.
sendRedirect
(
successView
);
}
return
u
;
...
...
core/src/main/java/jenkins/install/SetupWizard.java
浏览文件 @
12647e5a
...
...
@@ -42,6 +42,7 @@ import hudson.model.User;
import
hudson.security.FullControlOnceLoggedInAuthorizationStrategy
;
import
hudson.security.HudsonPrivateSecurityRealm
;
import
hudson.security.SecurityRealm
;
import
hudson.security.csrf.CrumbIssuer
;
import
hudson.security.csrf.DefaultCrumbIssuer
;
import
hudson.util.HttpResponses
;
import
hudson.util.PluginServletFilter
;
...
...
@@ -220,7 +221,7 @@ public class SetupWizard extends PageDecorator {
* Called during the initial setup to create an admin user
*/
@RequirePOST
public
void
doCreateAdminUser
(
StaplerRequest
req
,
StaplerResponse
rsp
)
throws
IOException
,
ServletException
{
public
HttpResponse
doCreateAdminUser
(
StaplerRequest
req
,
StaplerResponse
rsp
)
throws
IOException
,
ServletException
{
Jenkins
j
=
Jenkins
.
getInstance
();
j
.
checkPermission
(
Jenkins
.
ADMINISTER
);
...
...
@@ -233,7 +234,7 @@ public class SetupWizard extends PageDecorator {
admin
.
delete
();
// assume the new user may well be 'admin'
}
User
u
=
securityRealm
.
createAccountByAdmin
(
req
,
rsp
,
"/jenkins/install/SetupWizard/setupWizardFirstUser.jelly"
,
req
.
getContextPath
()
+
"/"
);
User
u
=
securityRealm
.
createAccountByAdmin
(
req
,
rsp
,
"/jenkins/install/SetupWizard/setupWizardFirstUser.jelly"
,
null
);
if
(
u
!=
null
)
{
if
(
admin
!=
null
)
{
admin
=
null
;
...
...
@@ -252,6 +253,11 @@ public class SetupWizard extends PageDecorator {
Authentication
a
=
new
UsernamePasswordAuthenticationToken
(
u
.
getId
(),
req
.
getParameter
(
"password1"
));
a
=
securityRealm
.
getSecurityComponents
().
manager
.
authenticate
(
a
);
SecurityContextHolder
.
getContext
().
setAuthentication
(
a
);
CrumbIssuer
crumbIssuer
=
Jenkins
.
getInstance
().
getCrumbIssuer
();
JSONObject
data
=
new
JSONObject
().
accumulate
(
"crumbRequestField"
,
crumbIssuer
.
getCrumbRequestField
()).
accumulate
(
"crumb"
,
crumbIssuer
.
getCrumb
(
req
));
return
HttpResponses
.
okJSON
(
data
);
}
else
{
return
HttpResponses
.
okJSON
();
}
}
finally
{
if
(
admin
!=
null
)
{
...
...
@@ -458,6 +464,7 @@ public class SetupWizard extends PageDecorator {
/**
* Remove the setupWizard filter, ensure all updates are written to disk, etc
*/
@RequirePOST
public
HttpResponse
doCompleteInstall
()
throws
IOException
,
ServletException
{
completeSetup
();
return
HttpResponses
.
okJSON
();
...
...
war/src/main/js/api/pluginManager.js
浏览文件 @
12647e5a
...
...
@@ -177,7 +177,7 @@ exports.incompleteInstallStatus = function(handler, correlationId) {
* Call this to complete the installation without installing anything
*/
exports
.
completeInstall
=
function
(
handler
)
{
jenkins
.
get
(
'
/setupWizard/completeInstall
'
,
function
()
{
jenkins
.
post
(
'
/setupWizard/completeInstall
'
,
{}
,
function
()
{
handler
.
call
({
isError
:
false
});
},
{
timeout
:
pluginManagerErrorTimeoutMillis
,
...
...
@@ -219,7 +219,7 @@ exports.installPluginsDone = function(handler) {
* Restart Jenkins
*/
exports
.
restartJenkins
=
function
(
handler
)
{
jenkins
.
get
(
'
/updateCenter/safeRestart
'
,
function
()
{
jenkins
.
post
(
'
/updateCenter/safeRestart
'
,
{}
,
function
()
{
handler
.
call
({
isError
:
false
});
},
{
timeout
:
pluginManagerErrorTimeoutMillis
,
...
...
war/src/main/js/api/securityConfig.js
浏览文件 @
12647e5a
...
...
@@ -11,8 +11,13 @@ exports.saveFirstUser = function($form, success, error) {
jenkins
.
staplerPost
(
'
/setupWizard/createAdminUser
'
,
$form
,
success
,
{
dataType
:
'
html
'
,
function
(
response
)
{
var
crumbRequestField
=
response
.
data
.
crumbRequestField
;
if
(
crumbRequestField
)
{
require
(
'
window-handle
'
).
getWindow
().
crumb
.
init
(
crumbRequestField
,
response
.
data
.
crumb
);
}
success
(
response
);
},
{
error
:
error
});
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录