<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "關於JForum忘記密碼流程的說明及小修改"]]></title>
		<link>http://www.andowson.com/posts/list/7.page</link>
		<description><![CDATA[Latest messages posted in the topic "關於JForum忘記密碼流程的說明及小修改"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>關於JForum忘記密碼流程的說明及小修改</title>
				<description><![CDATA[ 有關JForum忘記密碼的功能是正常的<br /> 剛測試了一下，它的運作流程大致如下<br /> 1.點選登入<br /> 2.點選忘記密碼<br /> 3.輸入原來註冊時所用的電子郵件信箱或會員名稱任何一個，然後按下確定。<br /> 4.JForum系統發送一封電子郵件至您當初註冊的電子郵件信箱，然後顯示一個完成畫面，請您點選某個連結回到登入頁面<br /> =&gt;最初註冊時填寫的電子郵件信箱必須正確否則您永遠收不到信<br /> 5.進入到您的電子郵件信箱，您會看到一封主旨為補發密碼通知的信件，裡面有一個URL，類似下方這樣：<br /> http://www.andowson.com/user/recoverPassword/b5b466d022a4be46b9f4530cb7a212ce.page<br /> 6.將上面的網址複製並貼到原來瀏覽器視窗的網址列，然後按下Enter<br /> 7.再輸入一次您的原來註冊時填的電子郵件信箱及新的密碼兩次，按下確定<br /> 8.JForum確認無誤後，更改您的密碼，然後顯示一個完成頁面，請您點選某個連結回到登入頁面<br /> =&gt;上面通知信內的URL連結只能使用一次，如果日後您又忘記了，請重複一次上述流程<br /> 9.點選登入連結後，輸入帳號跟密碼，按下登入，然後...<br /> 出現404錯誤，找不到網頁？<br /> <br /> 原因是這個登入畫面裡面有個隱藏欄位returnPath，紀錄呼叫這個登入畫面的來源網址，以便在進行完帳號密碼驗證後導回去剛剛的地方。檢視畫面原始碼可以發現，這時變成如下：<br /> &lt;input type="hidden" name="returnPath" value="http://www.andowson.com/jforum.page" /&gt;<br /> 而原本JForum的設計, *.page 通通是交給 jforum 這個Controller Servlet來處理，但是如果沒有傳任何參數給它，就會變成moduleClass == null的條件成立，而預設是回傳404錯誤碼。我稍微改了一下JForum.java的service()方法，讓它導回根目錄：<br /> [code]<br /> 			if (moduleClass == null) {<br /> 				// Module not found, send 404 not found response<br /> 				//response.sendError(HttpServletResponse.SC_NOT_FOUND);<br /> 				response.sendRedirect("/");<br /> 			}<br /> [/code]<br /> 如此一來，就OK了。]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/291/532.page</guid>
				<link>http://www.andowson.com/posts/preList/291/532.page</link>
				<pubDate><![CDATA[Sat, 13 Dec 2008 15:14:30]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:關於JForum忘記密碼流程的說明及小修改</title>
				<description><![CDATA[ 谢谢你写得这么详细。<br /> <br /> 我每次进行完第7步后可以看到图片1，<br /> 然后进行第9步，得到图片2<br /> <br /> 我试验过很多次，我的操作应该没有问题]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/291/535.page</guid>
				<link>http://www.andowson.com/posts/preList/291/535.page</link>
				<pubDate><![CDATA[Sun, 14 Dec 2008 12:47:16]]> GMT</pubDate>
				<author><![CDATA[ fly]]></author>
			</item>
			<item>
				<title>回覆:關於JForum忘記密碼流程的說明及小修改</title>
				<description><![CDATA[  :(]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/291/536.page</guid>
				<link>http://www.andowson.com/posts/preList/291/536.page</link>
				<pubDate><![CDATA[Sun, 14 Dec 2008 12:49:13]]> GMT</pubDate>
				<author><![CDATA[ fly]]></author>
			</item>
			<item>
				<title>回覆:關於JForum忘記密碼流程的說明及小修改</title>
				<description><![CDATA[ 您的問題應該是因為帳號尚未啟用，所以無法通過登入驗證程序，主要是因為在net.jforum.sso.DefaultLoginAuthenticator這個類別的validateLogin方法裡面對於登入成功的條件是<br /> [code]		if (user != null && !user.isDeleted() && (user.getActivationKey() == null || user.isActive())) {<br /> 			return user;<br /> 		}[/code]<br /> 所以雖然透過忘記密碼功能可以成功修改密碼，但是如果您一直沒有去啟用帳號，則仍然無法登入成功。<br /> ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/291/541.page</guid>
				<link>http://www.andowson.com/posts/preList/291/541.page</link>
				<pubDate><![CDATA[Sat, 20 Dec 2008 21:35:56]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:關於JForum忘記密碼流程的說明及小修改</title>
				<description><![CDATA[ [quote=andowson]您的問題應該是因為帳號尚未啟用，所以無法通過登入驗證程序，主要是因為在net.jforum.sso.DefaultLoginAuthenticator這個類別的validateLogin方法裡面對於登入成功的條件是<br /> [code]		if (user != null && !user.isDeleted() && (user.getActivationKey() == null || user.isActive())) {<br /> 			return user;<br /> 		}[/code]<br /> 所以雖然透過忘記密碼功能可以成功修改密碼，但是如果您一直沒有去啟用帳號，則仍然無法登入成功。<br /> [/quote]<br /> <br /> 谢谢提醒，我启用账号的时候需要验证码，“现在”我怎样得到验证码呢？]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/291/542.page</guid>
				<link>http://www.andowson.com/posts/preList/291/542.page</link>
				<pubDate><![CDATA[Sun, 21 Dec 2008 09:29:37]]> GMT</pubDate>
				<author><![CDATA[ fly]]></author>
			</item>
			<item>
				<title>回覆:關於JForum忘記密碼流程的說明及小修改</title>
				<description><![CDATA[ 首先，JForum的手動啟用帳號中輸入的是會員ID（整數），不是會員名稱（字串），您的會員ID可以由會員列表前面第一行數字查得（即#那一行）。<br /> 第二，驗證碼在當初加入會員時，已發送通知信到您註冊時所使用的電子郵件信箱，如果當初您註冊用的信箱是正確的，您可以到您的信箱中再找找看有沒有那封信。<br /> 第三，如果當初註冊時沒收到啟用帳號通知信，目前這個版本的JForum也沒有提供補發驗證碼的功能，如果您比較偏好使用fly這個帳號，有幾種作法：<br /> a.由系統管理者手動啟用帳號，這樣子您會有兩個帳號<br /> b.由系統管理者變更您目前通過認證的這個帳號名稱為fly，將原來的fly改為別的名稱<br /> c.開發補發驗證碼的程式，可以模仿忘記密碼的程式來改，然後您再去申請補發驗證碼，然後再來啟用帳號。目前想到的邏輯如下：<br /> 1.在手動啟用帳號的頁面上加入補發驗證碼連結，使用者按下後顯示申請表單畫面<br /> 2.使用者同時輸入帳號跟新的電子郵件信箱地址<br /> 3.系統檢查該帳號是否已啟用<br /> 3.1.如果尚未啟用，則更新該帳號的電子郵件信箱，同時產生新驗證碼，寄送至這個新的電子郵件信箱<br /> 3.2如果已啟用，則顯示帳號已啟用畫面（避免帳號被盜用）<br /> 4.使用者至其新的電子郵件信箱收信，收到信後再啟用帳號<br /> <br /> 這幾個作法的優缺點如下：<br /> a方案：優點：簡單，目前系統所提供的功能。缺點：無法確認使用者所填寫之電子郵件信箱是否正確，失去驗證碼機制所要的目的。然後同一個人變成有兩個帳號。<br /> b方案：優點：可以保留目前您這個帳號所發表的文章紀錄。缺點：就是要請系統管理者去處理這件事，還有原先的文章可能會看起來怪怪的。<br /> c方案：優點：可以讓使用者自行處理這件事情。不需要系統管理者介入。也可以回收一些帳號。缺點：就是還要開發程式，需要考量所花的時間成本以及日後與新版本程式相容性的問題。還有就是同一個人還是有兩個帳號。<br /> <br /> 目前，我比較傾向使用b方案。不知道您是否同意這樣的處理方式？]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/291/543.page</guid>
				<link>http://www.andowson.com/posts/preList/291/543.page</link>
				<pubDate><![CDATA[Sun, 21 Dec 2008 11:14:28]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:關於JForum忘記密碼流程的說明及小修改</title>
				<description><![CDATA[ [quote=andowson]首先，JForum的手動啟用帳號中輸入的是會員ID（整數），不是會員名稱（字串），您的會員ID可以由會員列表前面第一行數字查得（即#那一行）。<br /> 第二，驗證碼在當初加入會員時，已發送通知信到您註冊時所使用的電子郵件信箱，如果當初您註冊用的信箱是正確的，您可以到您的信箱中再找找看有沒有那封信。<br /> 第三，如果當初註冊時沒收到啟用帳號通知信，目前這個版本的JForum也沒有提供補發驗證碼的功能，如果您比較偏好使用fly這個帳號，有幾種作法：<br /> a.由系統管理者手動啟用帳號，這樣子您會有兩個帳號<br /> b.由系統管理者變更您目前通過認證的這個帳號名稱為fly，將原來的fly改為別的名稱<br /> c.開發補發驗證碼的程式，可以模仿忘記密碼的程式來改，然後您再去申請補發驗證碼，然後再來啟用帳號。目前想到的邏輯如下：<br /> 1.在手動啟用帳號的頁面上加入補發驗證碼連結，使用者按下後顯示申請表單畫面<br /> 2.使用者同時輸入帳號跟新的電子郵件信箱地址<br /> 3.系統檢查該帳號是否已啟用<br /> 3.1.如果尚未啟用，則更新該帳號的電子郵件信箱，同時產生新驗證碼，寄送至這個新的電子郵件信箱<br /> 3.2如果已啟用，則顯示帳號已啟用畫面（避免帳號被盜用）<br /> 4.使用者至其新的電子郵件信箱收信，收到信後再啟用帳號<br /> <br /> 這幾個作法的優缺點如下：<br /> a方案：優點：簡單，目前系統所提供的功能。缺點：無法確認使用者所填寫之電子郵件信箱是否正確，失去驗證碼機制所要的目的。然後同一個人變成有兩個帳號。<br /> b方案：優點：可以保留目前您這個帳號所發表的文章紀錄。缺點：就是要請系統管理者去處理這件事，還有原先的文章可能會看起來怪怪的。<br /> c方案：優點：可以讓使用者自行處理這件事情。不需要系統管理者介入。也可以回收一些帳號。缺點：就是還要開發程式，需要考量所花的時間成本以及日後與新版本程式相容性的問題。還有就是同一個人還是有兩個帳號。<br /> <br /> 目前，我比較傾向使用b方案。不知道您是否同意這樣的處理方式？[/quote]<br /> <br /> 不好意思，最近由于身体原因没来上网。<br /> 我非常赞成使用b方案，这个dream1000的账号我不想要了，你给我改成fly吧，非常感谢你的热情]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/291/546.page</guid>
				<link>http://www.andowson.com/posts/preList/291/546.page</link>
				<pubDate><![CDATA[Tue, 30 Dec 2008 17:57:41]]> GMT</pubDate>
				<author><![CDATA[ fly]]></author>
			</item>
			<item>
				<title>回覆:關於JForum忘記密碼流程的說明及小修改</title>
				<description><![CDATA[ 已修改為fly。也希望再見到您發表新文章。]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/291/547.page</guid>
				<link>http://www.andowson.com/posts/preList/291/547.page</link>
				<pubDate><![CDATA[Wed, 31 Dec 2008 20:42:30]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:關於JForum忘記密碼流程的說明及小修改</title>
				<description><![CDATA[ [quote=andowson]已修改為fly。也希望再見到您發表新文章。[/quote]<br /> <br /> 谢谢 :thumbup: ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/291/548.page</guid>
				<link>http://www.andowson.com/posts/preList/291/548.page</link>
				<pubDate><![CDATA[Thu, 1 Jan 2009 09:04:01]]> GMT</pubDate>
				<author><![CDATA[ fly]]></author>
			</item>
	</channel>
</rss>
