iT邦幫忙

1

asp.net c# 如何驗證資料庫多人帳號密碼

請問這是建好的單人帳號密碼 , 那要如何建立多人資料庫驗證 , 煩請告知謝謝 !
https://ithelp.ithome.com.tw/upload/images/20180215/20104326oQSeUmzNja.png

看更多先前的討論...收起先前的討論...
麻煩自己想,謝謝。
恭喜發財,新年快樂。
然後不管你心裡有多不滿。
我還是要祝你新年快樂、吉祥如意。
新的一年能有新突破。
恭喜發財,新年快樂。
testh iT邦新手 4 級 ‧ 2018-02-16 07:28:18 檢舉
依您的狀況先別自己想,
看懂別人完整的專案再說
要做專案,想過SA 沒,有沒有畫流程圖,物件列表,程式行為模式,附加套件,這些,不是光靠你念一本書就能明白,還需要有經驗的設計師手把手教學,講難聽一點,這些高設花在上面的時間跟金錢,可是比你多得多了,你在幾乎等於入門者的狀態下,用新的IDE 參考了一本早已淘汰多時的教科書,連基本的程式邏輯觀念都沒有,這樣要找人教你,然後 CSS 跟 JQ JS 都不了,要做 WEB 開發,你以為現在還是IE 時代,內建語法不會跑框的嘛,有時候,光瀏覽器提升個小版本,你剛好碰到了解析有錯的語法,整個畫面就亂了,問問題也問一年了,黃花菜都涼了,您真的覺得你現在有能力接案子嘛,搞不好做一點網站維護都辦不到
你要覺得自己有能力,那個 NOP 專案你可以自己接接看,自己去看,對方要啥,等你實務接案之後,就能知道你能力不足點在哪了
alex9453 iT邦新手 3 級 ‧ 2018-02-16 22:56:54 檢舉
問問題只有半年,我實際動手寫程式還不到一個月,每天工作忙也不能碰程式,只有下班休息的一兩個小時,才能碰程式,你們會感覺很久,因為你們不了解實際狀況
alex9453 iT邦新手 3 級 ‧ 2018-02-16 22:56:56 檢舉
問問題只有半年,我實際動手寫程式還不到一個月,每天工作忙也不能碰程式,只有下班休息的一兩個小時,才能碰程式,你們會感覺很久,因為你們不了解實際狀況
1
黃彥儒
iT邦研究生 2 級 ‧ 2018-02-15 11:10:38

哪有人把密碼寫死的啦,麻都是和資料庫溝通,你自己也知道阿;那麼你想要問甚麼

看更多先前的回應...收起先前的回應...

所以啊。真正有心要學跟不是打從心裡要學這根本上就有差異了。
然後就會說人家酸,又浪費他一篇額度……
那間公司會想請一個出問題一直問別人的員工?

另外,我比較好奇的是……
他資料庫在那?沒看到有連。

alex9453 iT邦新手 3 級 ‧ 2018-02-15 12:12:40 檢舉

黃彥儒 後來有建資料庫,晚點傳
可樂快跑 注意你的言行

賽門 iT邦超人 1 級 ‧ 2018-02-15 12:44:49 檢舉

/images/emoticon/emoticon01.gif
惱羞成怒了嗎?Sam被記一次警告了。

alex9453,注意你的一言一行一切問題。
恭喜發財,新年快樂。

alex9453真切建議你自己好好思考問題。學而不思則罔,這孔子說的。還是你要教訓孔子的言行?
恭喜發財,新年快樂。

黃彥儒 iT邦研究生 2 級 ‧ 2018-02-15 13:46:01 檢舉

OwO大過年的,別吵啦~
然後孔子本來就不Ok,這是我的觀點

alex9453 iT邦新手 3 級 ‧ 2018-02-15 19:19:23 檢舉

https://ithelp.ithome.com.tw/upload/images/20180215/20104326xVODZ44tP5.png

https://ithelp.ithome.com.tw/upload/images/20180215/20104326usgJ0v7Hmw.png

2
賽門
iT邦超人 1 級 ‧ 2018-02-15 12:42:40

A兄,上回不是在問ASP.NET網站管理工具,那裏面不就是給你建網站帳號密碼用的?
更奇怪的是,放著Visual Studio內建的Authentication機制不用,要自己寫一個"笨死了"的驗證機制,想不通。(請恕我這說)
我看過的ASP.NET的書,都會有至少一個章節講如何實踐Authentication(也有說是會員機制的),看來A兄是沒注意或不想去看。
如果能接受英文,請參考 ASP.NET "Membership and Administration"這段教學文,或者,你可以從頭看起,ASP.NET Web Forms
基本上,Visual Studio專案會有下圖的預建驗證程式
https://ithelp.ithome.com.tw/upload/images/20180215/20017649qrDxCou1sl.jpg
很多書都會介如何使用登入控制。例如:
https://ithelp.ithome.com.tw/upload/images/20180215/20017649sZpEctXZvf.jpg

我猜A兄是實在看不懂書中講的網站管理工具,會員和登入控制項怎麼使用,所以只好發奮圖強己刻一個,我想,這實在不是好主意。

補充一點,你可以在Codebehind檔 Page_Load()的第一行寫這段

if (!HttpContext.Current.User.Identity.IsAuthenticated) Response.Redirect("~/Account/Login.aspx");

這樣就會強迫未登入的網頁訪問者直接進到登入頁面了。

至於會員驗證資料,是放在資料庫中的這幾個Tables中
https://ithelp.ithome.com.tw/upload/images/20180215/20017649SbiVx57nbF.jpg

過年了.....
/images/emoticon/emoticon64.gif/images/emoticon/emoticon62.gif/images/emoticon/emoticon59.gif/images/emoticon/emoticon63.gif

alex9453 iT邦新手 3 級 ‧ 2018-02-15 15:45:45 檢舉

你的是asp.net 4.0 現在已經asp.net 4.6 ,已經沒有網站管理工具了,之前是照4.0學,但邦友建議我要學新的,舊的很多技術現在不支援了,但新的書適合的不好找,才會一直問,否則看書就可以了

賽門 iT邦超人 1 級 ‧ 2018-02-15 17:52:55 檢舉

嗯哼,行,學而不思則罔,思而不學則殆。
這正是你的最佳寫照。
祝你新年行大運,程式學好學滿。
/images/emoticon/emoticon64.gif

0

個人建議
可以看MIS2000出過的ASP.Net的書籍
一定會教學到這部分
因為現在網站最重要的精隨就是在"購物"
不過現在能購物不稀奇
現在需要的有串後端金流系統的好手......
就自己再琢磨吧

曾經MIS2000大大也曾在這駐留過
但..........
不多說了

alex9453 iT邦新手 3 級 ‧ 2018-02-15 15:48:04 檢舉

看過,但很多技術還是要付萬元去他線上學才可

0
yesongow
iT邦大師 1 級 ‧ 2018-02-15 14:38:26

哪種資料庫?能否列出來?

建立 database,並決定DB名稱
建立 users tables,並決定users 各項欄位屬性及長度

建立一個database manage_user ,並允許去讀寫上面的資料庫

前端傳資料去撈後台database db 的時候,select names,password from users tables where name=="前端username" and password=="前端password" ,並比對前端傳來的資料是否存在db裡面!

「==」?
「=」?

alex9453 iT邦新手 3 級 ‧ 2018-02-15 19:27:28 檢舉

https://ithelp.ithome.com.tw/upload/images/20180215/20104326xrXODcjPES.png

https://ithelp.ithome.com.tw/upload/images/20180215/201043266T6S2hBIKL.png

alex9453 iT邦新手 3 級 ‧ 2018-02-17 13:29:35 檢舉

yesongow 可以告訴我怎麼下指令嗎 ? 我的 MS SQL 資料庫是 account 資料表是 user , 前端的指令要怎麼下

0
froce
iT邦研究生 1 級 ‧ 2018-02-15 20:56:19

感謝a兄過年就在娛樂it邦幫忙的大家...
我真的無言了,看到這種奇葩程式碼。
因為asp.net帳號密碼制度我不熟,僅對手刻部分發言。

1.請問你的程式碼有存取資料庫比對嗎?難道你有10萬個客戶,你就要寫10萬次if?
2.如果不是,那你是不是要寫個通用的函式,當使用者輸入帳密時,去比對資料庫裡帳號密碼是否正確?
3.你知道session是啥東西嗎?你把帳號密碼存入session能幹嘛?

這些對一個後端來說,都是和呼吸一樣的觀念。上面你都搞不懂的話,你真的浪費了你目前所有的學習時間。

看更多先前的回應...收起先前的回應...
alex9453 iT邦新手 3 級 ‧ 2018-02-15 21:43:17 檢舉

如果我什麼都懂就不用來問了 , 這裡不是就是給人問的嗎 ? 還是有限制要高手才能問問題 , 初學者是不能問問題的 , 就是網路及看書都查不到解決方案才來問

你不是一直強調你基礎都會了?
那幹嘛一直問基礎的問題?
恭喜發財、新年快樂

alex9453 iT邦新手 3 級 ‧ 2018-02-15 23:06:16 檢舉

可樂快跑 我跟你想法有很大的差異 , 我們還是出來當面聊聊好了

我一直就想約你出來,甚至是請你喝茶。可你沒下文不是?
恭喜發財、新年快樂

你說約出來聊聊,然後你私訊我的內容說要「好好解決」?
是那方面的解決你要不要說清楚呢?
因為你把我給封鎖了所以我無法回訊息給你。
至於說看你不滿?
你可能太看得起自己了。
任何人只要是像你這種發問方式我都會不滿。

該不會因為文的不行,你想來武的?喔!我好怕喔!

好了!如果你真的要約我出來,那你要有從頭到尾跟我對幹「程式技術」的覺悟。

但如果你想要跟我對幹的是其他目的。很抱歉,敬謝不敏。
我勉強算是個文人,不喜歡動手動腳的。

恭喜發財,新年快樂。

蟹老闆 iT邦大師 1 級 ‧ 2018-02-16 04:29:31 檢舉

Samと可樂快跑真有你的!我覺得你要把他氣炸了/images/emoticon/emoticon01.gif
alex9453真心建議你............................................................................................................................................................................................................................................................................以上所說千言萬語都是為你好

另外好好解決這件事,如果是討教如何寫程式值得鼓勵,若是其它的建議你三思而後行。

alex9453 iT邦新手 3 級 ‧ 2018-02-16 06:55:39 檢舉

你想太多了 , 當然是解決我程式上的問題 , 我所遇到的問題 , 希望可以見面聊聊 , 我也不想網上一直問

好吧!根據我們討論的結果。
對於你對「初學者」的分界搞不清楚的狀況,這邊有個結論。
我想這樣你就能明白區分「初學」和「進階」的差異性吧!

初學:從0到你可以做出任何你想做的東西,雖然程式碼可能不堪入目或是效能不佳,但至少他能正常運作。
進階:開始學習如何優化你的程式碼,讓他開始好維護、好管理、效能佳、結構好。
高手:沒有這種等級。這只是對在進階狀態了解較多的人的一種尊稱。

所以你有理解到你在初學階段花掉了多少時間嗎?
我給你一個標準裁量。
一個真正的「初學者」,在他可以做出所想做的東西所花的時間最慢也應該要在一年之內達成。超過一年以上肯定學習方法有問題。

然後告訴你一個現實。
在2009年我沒有學過php的情況下,我只用了一個月的時間把網站整個架起來。
然後為了應付客戶的需求,我只在一天之內很趕的做出了一個留言板,然後就跟我老闆飛去大陸出差了。
然後我會告訴你手上就一本我不知道究竟適合不適合我的書。
我連狗都沒去咕就靠那本書硬幹出一個真實的留言板環境。

  • 即使以現在的眼光,那個code真的是髒到不行,簡直就是code災難。

不要以為我是天才,幹這件事的時候我已經33歲年紀也不算太小了。
重點是:心與目的究竟在那裡。

有心就會很快做到好,無心的話就會常常抱怨為什麼做不好。
新的一年,我會希望你加油。而不是把時間耗在面對別人的意見的對幹上。
不管你信或不信,你必須知道:有人會理你才是好事,甚至義正嚴詞的對你指責。因為會希望你改變而不是一成不變。
面對這些,如果都要解讀成別人在針對你,刻意挑你毛病的話。
你會錯過非常多對你有意義的東西。

這是新年開春,我對你的期許。
也是對許多程式新手的建議和期許。

仍然祝恭喜發財,新年快樂。

froce iT邦研究生 1 級 ‧ 2018-02-16 16:05:46 檢舉

我真的最後一次給a兄你建議了,自己好自為之:
1.丟掉你手上的那本書,那本只教你「操作」沒教你真正重要的觀念。
2.從頭開始,把書上所有步驟「為什麼」要這麼做搞懂。自己想辦法去查那些參數代表什麼、背後會造成什麼影響。這部分會查MSDN非常重要。
3.搞懂HTTP背後運作的流程,從browser發起一個request到server丟出response,中間所有依賴的技術,cookies、session、資料庫的存取、運作...等等
4.接下來再來關心前端資料呈現

從你發的問題,這邊有在寫web都知道你真的極度缺乏基礎觀念,但是只要給你建議,你就覺得我們看不起你,在酸你,回答的比較專業一點,你就用你不是這麼專業來擋,請問這樣要怎麼教你?

alex9453 iT邦新手 3 級 ‧ 2018-02-16 17:01:54 檢舉

你應該誤會了 , 我之前選最佳答案的人 , 都是很專業的 , 有很多人都解決了我的問題

黃彥儒 iT邦研究生 2 級 ‧ 2018-02-16 19:29:02 檢舉

我的看法啦....就像是你要寫一本教人做飯的書,你不可能只會中文即可,況且你手上那一本感覺只是教你筆怎麼用、字怎麼寫而已,連中文都沒提到
然後我覺得你好像小學生喔,有一本解答就很得意的那種,只求標準答案,不在乎過程
你討厭Samと可樂快跑froce這些會告訴你詳細過程的前輩,只喜歡直接告訴你答案的專業人士
OS:怎麼感覺好像在寫師說= =

froce iT邦研究生 1 級 ‧ 2018-02-16 19:59:47 檢舉

看你的回答,看起來還是不醒悟的樣子...
算了,你寫不寫的出來東西,和我又沒關係

路過,簽個名。請不要砍我的文。
我真的不知道該對他說什麼話了。
所以我旁邊看戲而已

alex9453 iT邦新手 3 級 ‧ 2018-02-16 22:16:16 檢舉

我選最佳解答的有些人,不止只有告訴我答案,還有告訴我該如何學習會比較好,並不是只有答案那麼簡單,該如何學習才是最重要的

alex9453 iT邦新手 3 級 ‧ 2018-02-16 22:52:16 檢舉

我本來上asp.net 500小時的課,上完後一行程式也寫不出來,那時我也覺得我不適合走這條路,所以好幾年沒碰程式了,直到最近才又找書研究程式,才發現是老師最重要的觀念沒教,所以我才不會寫,現在會寫程式,這是我以前都不敢想的事,所以我才知道我是可以辦到的,不管別人如何冷言冷語,我都會堅持下去,因為找到對的人是很重要的

alex9453 iT邦新手 3 級 ‧ 2018-02-16 23:04:28 檢舉

問問題只有半年,我實際動手寫程式還不到一個月,每天工作忙也不能碰程式,只有下班休息的一兩個小時,才能碰程式,你們會感覺很久,因為你們不了解實際狀況

建議你再學習簡單的資料庫語法,標準多組帳號、密碼需要靠資料庫,所以學程式基本也要會一些資料庫語法
例如這題需先撈出密碼:Select Password From DB Where Name="帳號";再比對輸入密碼,即可實現

alex9453 iT邦新手 3 級 ‧ 2018-02-21 09:31:06 檢舉

我直接改寫PHP,這樣以後才成掌握程式碼撰寫,因為所有問題最後還是要回歸程式碼

GJ iT邦研究生 5 級 ‧ 2018-02-26 17:48:31 檢舉

asp.net c# 就不是程式碼了嗎? /images/emoticon/emoticon56.gif

0
sqrt1089
iT邦見習生 0 級 ‧ 2018-03-26 11:17:57

我也剛學 帳號驗證這塊,之前開發WEB是沒有用帳密去擋,直接可以用
所以在設置帳密這塊沒有說很厲害,還請其他高手補充(題外話)

圖一類似你的btn_click,只是我有做加密
這邊在做的事情是,使用者在login.aspx 有兩個textbox(帳號密碼),
如果在sql找到這組帳密就把網頁導向home.aspx。
其中:
(1) 要查詢的的指令跟SQL Server溝通的就是那個 SQL_str (圖三會說明)
(2) sqlproc.SqlCommand 是我定義的物件,這樣要用只要呼叫這個物件就可以了
(3) if (sqlproc.sqlDataTable.Rows.Count > 0)表示有找到,裡面包你要做的事情
https://ithelp.ithome.com.tw/upload/images/20180326/20109247mhLdjWIYAk.png

圖二是物件sqlproc 部分程式碼:
其中:
(1) 我是把要連結的資料庫字串存在web.config裡面,將來改Sql只要改web.config就好
(2) sqlDataTable 儲存的資料就是輸入的資訊 (圖三會說明)
https://ithelp.ithome.com.tw/upload/images/20180326/20109247WMDCWsCd2d.png

圖三是SQL Server
其中:
(1) 上面指令就是在找有沒有這組帳密,相當於圖一的字串"SQL_str"
(2) 找到後的資料就是回傳到圖二的sqlDataTable中
https://ithelp.ithome.com.tw/upload/images/20180326/20109247MN6ecI5zPd.png

我要發表回答

立即登入回答