0

我对 wso2 完全陌生。我正在尝试向用户发送一封电子邮件,以验证我(管理员)在默认 PRIMARY 域中为特定公司(不是通过 gmail)创建的新帐户。使用该链接,他们应该能够登录并设置新密码。为此,我遵循的步骤是:

(1)设置identity-mgt.properties文件

# Identity listener is enable

Identity.Listener.Enable=true

# Enable email sending function when recovering the account and verifying the user creation

Notification.Sending.Enable=true
Notification.Expire.Time=7200

# Enable internal email sending module. If "false", email sending data would be available to application via webservice. Then application can send the email using its own email sender 

Notification.Sending.Internally.Managed=true

# Enable verification of account creation. When self registration is done,  user would be verified by sending email (confirmation link) to user's email account
 
UserAccount.Verification.Enable=true

UserAccount.Recovery.Enable=false


# Whether user can do the verification or not. If value is defined for role, Then the email is sent to users that have been assigned to this role. Not for the user who is registered.

UserAccount.Verification.Role=

# Whether captcha verification is done by identity server or application level

Captcha.Verification.Internally.Managed=true

# Whether temporary password are used when creating users or recovering accounts

Temporary.Password.Enable=false
Temporary.Password.Default.Value=password
Temporary.Password.OneTime=false
Temporary.Password.Expire.Time=0

# Enable authentication rules other than password check 

Authentication.Policy.Enable=true

# Enable following checking on authenication.  By default account lock check is enable 

Authentication.Policy.Check.Account.Exist=false 
Authentication.Policy.Check.Account.Lock=false
Authentication.Policy.Check.OneTime.Password=false
Authentication.Policy.Check.Password.Expire=false

# Configuration to build an authentication policy

Authentication.Policy.Password.Expire.Time=0
# If account verification is not enabled, following property will decide where user must be lock or not after user is created 
Authentication.Policy.Account.Lock.On.Creation=false
Authentication.Policy.Account.Lock.Time=0
Authentication.Policy.Account.Lock.On.Failure=false
Authentication.Policy.Account.Lock.On.Failure.Max.Attempts=0

# Define pluggable extension points

Identity.Mgt.Random.Password.Grenerator=org.wso2.carbon.identity.mgt.password.DefaultPasswordGenerator
Identity.Mgt.User.Data.Store=org.wso2.carbon.identity.mgt.store.UserStoreBasedIdentityDataStore
Identity.Mgt.Notification.Sending.Module.1=org.wso2.carbon.identity.mgt.mail.DefaultEmailSendingModule
Identity.Mgt.User.Recovery.Data.Store=org.wso2.carbon.identity.mgt.store.RegistryRecoveryDataStore


# Define password policy enforce extensions

Password.policy.extensions.1=org.wso2.carbon.identity.mgt.policy.password.DefaultPasswordLengthPolicy
Password.policy.extensions.1.min.length=6
Password.policy.extensions.1.max.length=12
Password.policy.extensions.2=org.wso2.carbon.identity.mgt.policy.password.DefaultPasswordNamePolicy
Password.policy.extensions.3=org.wso2.carbon.identity.mgt.policy.password.DefaultPasswordPatternPolicy
Password.policy.extensions.3.pattern=^((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%&*])).{0,100}$

(2) 设置axis2.xml 文件.... 在此我取消了transportSender name="mailto" 部分的注释并添加了参数值。我还取消了 transportReceiver name="mailto" 部分的注释。transportSender name="mailto" 部分中的参数是:-

<transportSender name="mailto"
                     class="org.apache.axis2.transport.mail.MailTransportSender">
        <parameter name="mail.smtp.from"></parameter>
        <parameter name="mail.smtp.user"></parameter>
        <parameter name="mail.smtp.password"></parameter>
        <parameter name="mail.smtp.host"></parameter>

        <parameter name="mail.smtp.port"></parameter>
        <parameter name="mail.smtp.starttls.enable"></parameter>
        <parameter name="mail.smtp.auth"></parameter>
    </transportSender>

(3) 这是 email-admin-config.xml 文件某些部分的默认设置

<configuration type="askPassword">
  <targetEpr></targetEpr>
  <subject>WSO2 Carbon - Password Change for New Account</subject>
  <body>
Hi {first-name}

Please change your password for the newly created account : {user-name}. Please click the link below to create the password.

http://localhost:9443/InfoRecoverySample/infoRecover/verify?confirmation={confirmation-code}

If clicking the link doesn't seem to work, you can copy and paste the
link into your browser's address window.
  </body>
  <footer>
Best Regards,
WSO2 Carbon Team
http://www.wso2.com
  </footer>
  <redirectPath></redirectPath>
</configuration>

现在,当我通过选择“询问密码”选项创建新用户时,我收到此错误。但是用户是在默认域中创建的。

“无法添加用户 PRIMARY/addUser。错误是:doPostAddUser 时出错”

我在许多网站上搜索了完整的过程,但没有得到任何关于不同文件中每个参数的作用的适当文档,以便为我的使用进行定制。

请让我知道我哪里出错了,以及我需要配置的所有其他东西。此外,了解所有参数所需的资源。

提前致谢。

4

2 回答 2

1

我不得不添加

-Djava.net.preferIPv4Stack=true 

wso2server脚本中。

邮件发送就像一个魅力

于 2015-02-18T19:25:52.377 回答
0

验证以下参数是否在 中设置为 false repository\conf\security\identity-mgt.properties

Authentication.Policy.Account.Lock.On.Creation=false
于 2015-02-16T10:43:24.547 回答