주제: 로그인 부분에 대해서 여쭙고자 합니다 :)
안녕하세요 맨날 눈팅으로만 하다가
(사실 비밀번호를 까먹어서 로그인을 못했더랬죠 하하)
다른분들께 답변은 못할 망정
이렇게 염치없지만 글을 올리는군요.
지금 저는 하자센터라는 곳에서 근무를 하고있고 하자센터에서는 각각의 팀별로
팀블로그를 운영중에 있습니다. 버전은 TC 1.5.1 을 사용중이지요.
헌데 문제는 이번에 저희 홈페이지 를 개편하면서 메타 블로그를 운영하려고 합니다.
그러면서 각 블로그들과 로그인을 연동하려고 하는데,
이게 쉽지가 않더군요.
메인에서 로그인은 openid 로 로그인 하고, 다른 블로그들은 모두 로그인 연동이 되게끔 할려고 했거든요.
그래서 지금 login 함수를 이메일만 입력받아 로그인이 가능하도록 수정중에 있는데,
제가 작성한것은 아래 입니다.
$usermail = "sqstyle@hotmail.com";
$pw = "passwordasdf"; //비밀번호는테스트 해보려고 임시로 넣었습니다
define(ROOT,"../..");
require_once(ROOT."/lib/includeForBlog.php");
$isLogin1 = HAJA_login($usermail,$pw);
if (!$isLogin1) {
$message = "아이디 또는 비밀번호가 틀렸습니다.";
}else if($isLogin1 == 2) {
$message= "권한이 없습니다.";
}else if($isLogin1 == 1) {
$message= "yes ok";
}
$authResult = fireEvent('LOGIN_try_auth', true);
echo $message."/\$authResult = ".$authResult;
// 로그인 되었는지 확인하기 위한 링크에요
echo "<a href='http://testzoneURL/owner/' target='_blank'>go</a>";
if (doesHaveOwnership()) {
if (!empty($_POST['requestURI'])) {
$url = parse_url($_POST['requestURI']);
if ($url && isset($url['host']) && !String::endsWith( '.' . $url['host'], '.' . $service['domain']))
header("Location: {$blogURL}/login?requestURI=" . rawurlencode($_POST['requestURI']) . '&session=' . rawurlencode(session_id()));
else
header("Location: {$_POST['requestURI']}");
} else {
global $blogURL;
header("Location: $blogURL");
}
exit;
} else if (doesHaveMembership()) {
$message = _text('권한이 없습니다.');
}
// Haja Login Linkage / tc 의 login 파일을 축약한거에요
function HAJA_login($loginid, $password, $preKnownPassword = null) {
global $service;
$loginid = mysql_tt_escape_string($loginid);
$blogid = getBlogId();
$userid = Auth::authenticate($blogid , $loginid, $password);
if( $userid === false ) {
return false;
}
if( in_array( "group.writers", Acl::getCurrentPrivilege()) ) {
authorizeSession($blogid, $userid);
}
return true;
}이렇게 하니 세션테이블에 세션은 생성이 되는데, 로그인은 제대로 되지 않더군요.
로그인이 제대로 처리될려면 어디를 더 보아야 하는걸까요??