{"record":{"id":"ab123189836e5871","repo":"theonedev/onedev","slug":"cannot-sign-up-a-user-while-signed-in","errorCode":null,"errorMessage":"Cannot sign up a user while signed in","messagePattern":"Cannot sign up a user while signed in","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"warning","filePath":"server-core/src/main/java/io/onedev/server/web/page/security/SignUpPage.java","lineNumber":49,"sourceCode":"import io.onedev.server.persistence.TransactionService;\nimport io.onedev.server.security.SecurityUtils;\nimport io.onedev.server.util.Path;\nimport io.onedev.server.util.PathNode;\nimport io.onedev.server.util.patternset.PatternSet;\nimport io.onedev.server.web.editable.BeanContext;\nimport io.onedev.server.web.editable.BeanEditor;\nimport io.onedev.server.web.page.HomePage;\nimport io.onedev.server.web.page.simple.SimplePage;\n\npublic class SignUpPage extends SimplePage {\n\t\n\tpublic SignUpPage(PageParameters params) {\n\t\tsuper(params);\n\t\t\n\t\tif (!getSecuritySetting().isEnableSelfRegister())\n\t\t\tthrow new UnauthenticatedException(\"User sign-up is disabled\");\n\t\tif (getLoginUser() != null)\n\t\t\tthrow new IllegalStateException(\"Cannot sign up a user while signed in\");\n\t}\n\t\n\tprivate SecuritySetting getSecuritySetting() {\n\t\treturn OneDev.getInstance(SettingService.class).getSecuritySetting();\n\t}\n\t\n\t@Override\n\tprotected void onInitialize() {\n\t\tsuper.onInitialize();\n\n\t\tSignUpBean bean = new SignUpBean();\n\t\tBeanEditor editor = BeanContext.edit(\"editor\", bean, Sets.newHashSet(PROP_TYPE, PROP_NOTIFY_OWN_EVENTS), true);\n\t\t\n\t\tForm<?> form = new Form<Void>(\"form\") {\n\n\t\t\t@Override\n\t\t\tprotected void onSubmit() {\n\t\t\t\tsuper.onSubmit();","sourceCodeStart":31,"sourceCodeEnd":67,"githubUrl":"https://github.com/theonedev/onedev/blob/d44925c47c37992c828ea673a5f9620539bc3ff2/server-core/src/main/java/io/onedev/server/web/page/security/SignUpPage.java#L31-L67","documentation":"The SignUpPage constructor also forbids signing up while a user is already authenticated: if getLoginUser() != null it throws IllegalStateException('Cannot sign up a user while signed in'). OneDev does not allow creating a second account from within an existing session.","triggerScenarios":"Opening the sign-up URL while already logged in — e.g. navigating to /~register manually, following an old bookmark, or a shared sign-up link opened in a browser that already has a OneDev session.","commonSituations":"Trying to create a second account for yourself in the same browser; testing sign-up as an admin without logging out or using incognito; auto-login (SSO/remember-me) silently keeping you signed in.","solutions":["Log out first, then open the sign-up page.","Open the sign-up page in a private/incognito window or a different browser profile.","If you need a second account, use an isolated session or have an admin create it.","Clear the OneDev session cookie if logout appears not to take effect."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (SecurityUtils.getLoginUser() != null) {\n  // already signed in: skip sign-up, go to 'my account'\n}","typeGuard":null,"tryCatchPattern":"try {\n  openSignUpPage();\n} catch (IllegalStateException e) {\n  // user is signed in; redirect to profile page\n}","preventionTips":["Check login state before showing sign-up entry points.","Use incognito/isolated sessions to test sign-up flows.","Avoid bookmarks to /~register; navigate from the logged-out page.","Confirm logout completed (no remember-me) before registering a new account."],"tags":["registration","session","state-conflict"],"backgroundTag":"invalid-state-transition","analyzedSha":"d44925c47c37992c828ea673a5f9620539bc3ff2","analyzedAt":"2026-09-06T07:18:27.995Z","contentChangedAt":"2026-09-06T07:18:27.995Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}