2014-07-11 175 views
0

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

(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])(?=.*[[email protected]#$%&*])).{0,100}$ 

(2)设置axis2.xml文件.... 在该予未注释的transportSender名称= “mailto”部分并添加参数值。我还取消了transportReceiver name =“mailto”部分的注释。在transportSender名 参数= “电子邮件地址” 部分是: -

<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)这是电子邮件管理员-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”

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

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

在此先感谢。

回答

0

验证下面的参数设置为false repository\conf\security\identity-mgt.properties

Authentication.Policy.Account.Lock.On.Creation=false 
+0

继http://mail.wso2.org/mailarchive/dev/2014-December/040210.html我加入folowwing权利要求映射: 描述:身份口令时间戳 权利要求Uri:http://wso2.org/claims/identity/passwordTimestampMapped属性:facsimileTelephoneNumber 用户界面似乎存在一个问题(bug?):映射创建后,属性值包含null juste,我必须修改映射并覆盖null with facsimileTelephoneNumber 之后,创建过程很好地工作 – Newuser

1

我不得不在wso2server脚本中添加

-Djava.net.preferIPv4Stack=true 

邮件发送工作就像一个魅力

相关问题