前提・実現したいこと
Google Apps Scriptでwebアプリケーションを作っています。
ログイン画面を設けて、その後の操作のログを取ったり、ユーザーによって権限を変更したりするためにログイン時に入力したユーザー情報等をページ間で保持したいのですが、良い方法がわかりません。
ASP.netのセッション変数の様な変数は使えないのでしょうか?
アドバイスお願い致します。
発生している問題・エラーメッセージ
ページが遷移すると変数が初期化されてしまう。
main.gs
var str_USER; var dt_last_operation; function myFunction() { } function doGet(e) { if (!e.parameter.page||e.parameter['page']=='login') { return HtmlService.createTemplateFromFile('login').evaluate(); } return HtmlService.createTemplateFromFile(e.parameter['page']).evaluate(); } function doPost(e) { if(e.parameter.button_name=="cmd_login") { //if(e.parameter.user=="USER"&&e.parameter.password=="PASS") { str_USER=e.parameter.user; dt_last_operation=Date.now(); return HtmlService.createTemplateFromFile('main').evaluate(); } return HtmlService.createTemplateFromFile('login').evaluate(); } } function getScriptUrl() { var url = ScriptApp.getService().getUrl(); return url; } function getUser() { return str_USER; }
login.html
<!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> <h2>ログイン</h2><br><br> <?var url = getScriptUrl();?> <form method="post" action=<?!=url?>> <label>ユーザー:<input type="text" name="user"></label> <label>パスワード:<input type="text" name="password"></label><br> <button type="submit" name="button_name" value="cmd_login">ログイン</button><br> </form> </body> </html>
main.html
<!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> <h2>メインページ</h2><br><br> <?var str_USER = getUser();?> <p><?!=str_USER?></p><br> </body> </html>
試したこと
ユーザープロパティを使用したみましたが、複数のログインが同時に起こると後にログインした情報に書き換わってしまます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。